/* Approved C-v3 service, editorial, legal and account composition. */

.mv-editorial-page,
.mv-account-main,
.mv-article-main,
.mv-search-head,
.mv-recovery,
.mv-generic-page {
  inline-size: min(calc(100% - 2 * var(--mv-page-gutter)), 1312px);
  max-inline-size: 1312px !important;
  margin-inline: auto !important;
}

.mv-service-main {
  inline-size: 100%;
  min-block-size: 65vh;
}

.mv-search-page {
  min-block-size: 65vh;
  padding-block: var(--mv-space-8) var(--mv-page-bottom);
}

.mv-search-results-grid {
  inline-size: min(calc(100% - 2 * var(--mv-page-gutter)), 1312px);
  max-inline-size: 1312px;
  margin: 48px auto 0;
}

.mv-account-content {
  inline-size: 100%;
}

.mv-account-heading > :first-child,
.mv-generic-page__header > :first-child {
  margin-block-start: 0;
}

.mv-generic-page {
  min-block-size: 65vh;
  padding-block: var(--mv-space-12) var(--mv-page-bottom);
}

.mv-generic-page__header h1 {
  margin: 0 0 40px;
  font-size: clamp(40px, 4vw, 58px);
  letter-spacing: -1.5px;
  line-height: 1.03;
}

/* Blog index: 650/606 feature, then 824/424 guide register. */
.mv-page-blog .mv-page-breadcrumbs { padding-block-start: var(--mv-space-8); }
.mv-blog-intro { padding-block: 26px 50px; }
.mv-blog-intro h1 { font-size: 56px; letter-spacing: -1.4px; line-height: 1; }
.mv-blog-intro p { margin-block: 12px 0; font-size: 20px; }
.mv-blog-intro strong { color: var(--mv-brand-600); }
.mv-blog-feature { grid-template-columns: 1fr 1fr; gap: 56px; padding-block-end: 68px; }
.mv-blog-feature img { block-size: 520px; border-radius: 16px; }
.mv-blog-feature > div { padding-block: 54px; }
.mv-blog-feature h2 { margin-block: 22px; font-size: 52px; letter-spacing: -1.2px; line-height: 1.04; }
.mv-blog-feature p { max-inline-size: 510px; color: var(--mv-ink-500); font-size: 18px; line-height: 1.45; }
.mv-blog-guides { padding-block: 0 72px; }
.mv-blog-guides > h2 { margin-block: 14px 32px; font-size: 38px; }
.mv-blog-guides > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .5fr); gap: 40px; }
.mv-blog-question-list article { position: relative; display: grid; grid-template-columns: 40px 1fr 200px; grid-template-rows: auto auto 1fr; min-block-size: 156px; gap: 8px 24px; padding: 18px 40px 24px 0; border-block-end: 1px solid var(--mv-line); }
.mv-blog-question-list img { grid-column: 3; grid-row: 1 / span 3; inline-size: 200px; block-size: 120px; object-fit: cover; border-radius: 12px; }
.mv-blog-question-list b { grid-column: 1; grid-row: 1; color: var(--mv-brand-600); font-size: 13px; }
.mv-blog-question-list h3 { grid-column: 2; grid-row: 1; margin: 0; font-size: 25px; line-height: 1.15; }
.mv-blog-question-list p { grid-column: 2; grid-row: 2; margin: 0; color: var(--mv-ink-500); }
.mv-blog-question-list a { grid-column: 2; grid-row: 3; align-self: end; color: var(--mv-brand-700); font-size: 14px; font-weight: 650; text-decoration: none; }
.mv-blog-topic-routes { padding: 28px; background: var(--mv-shell); border-radius: 16px; }
.mv-blog-topic-routes h2 { margin-block: 0 20px; font-size: 28px; }
.mv-blog-topic-routes a { display: flex; min-block-size: 76px; align-items: center; justify-content: space-between; color: var(--mv-ink-950); border-block-end: 1px solid var(--mv-line); font-weight: 600; text-decoration: none; }
.mv-blog-topic-routes span { color: var(--mv-brand-600); }
.mv-blog-catalog-context { display: flex; min-block-size: 180px; margin-block-end: 88px; padding: 30px 32px; align-items: center; justify-content: space-between; background: var(--mv-ink-950); border-radius: 16px; }
.mv-blog-catalog-context h2 { margin: 0; color: var(--mv-paper); font-size: 30px; }
.mv-blog-catalog-context p { margin-block: 10px 0; color: var(--mv-ink-500); }
.mv-blog-catalog-context .mv-button { inline-size: 260px; margin: 0; justify-content: center; }

/* Article */
.mv-article-main { padding-block-end: 92px; }
.mv-article-head { padding-block: 36px 50px; }
.mv-article-breadcrumbs { margin: 0 0 34px; color: var(--mv-ink-500); font-size: 13px; }
.mv-article-breadcrumbs a { color: inherit; text-decoration: none; }
.mv-article-head h1 { max-inline-size: 980px; margin-block: 20px 30px; font-size: 58px; letter-spacing: -1.6px; line-height: 1.02; }
.mv-article-head .wp-block-post-excerpt { max-inline-size: 820px; color: var(--mv-ink-500); font-size: 20px; line-height: 1.45; }
.mv-article-meta { margin-block-start: 28px; color: var(--mv-ink-500); font-size: 13px; }
.mv-article-hero { inline-size: 100%; margin: 0 0 76px !important; }
.mv-article-hero img { inline-size: 100%; block-size: 620px; object-fit: cover; border-radius: 16px; }
.mv-article-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(240px, 320px); gap: 48px; justify-content: end; }
.mv-article-prose { max-inline-size: 760px !important; font-size: 18px; line-height: 1.65; }
.mv-article-prose :where(h2,h3) { margin-block: 72px 20px; font-size: 30px; line-height: 1.15; }
.mv-article-prose p { max-inline-size: 650px; }
.mv-article-navigation { align-self: start; padding: 24px; background: var(--mv-shell); border-radius: 16px; }
.mv-article-navigation h2 { margin: 0 0 20px; font-size: 20px; }
.mv-article-navigation a { display: block; padding-block: 14px; color: var(--mv-ink-950); border-block-end: 1px solid var(--mv-line); text-decoration: none; }
.mv-article-product-context { min-block-size: 208px; margin-block-start: 80px !important; padding: 32px; background: var(--mv-shell); border-radius: 16px; }
.mv-article-product-context h2 { margin: 0; }
.mv-article-product-context a { color: var(--mv-brand-700); font-weight: 650; }

/* Account */
.mv-account-main { padding-block: var(--mv-space-8) var(--mv-page-bottom); }
.mv-account-heading { margin-block-end: 32px; }
.mv-account-heading h1 { margin-block: 20px 14px; font-size: clamp(36px, 3.3vw, 48px); letter-spacing: -1.2px; line-height: 1; }
.mv-account-main .woocommerce { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 46px; }
.mv-account-main .woocommerce:has(#customer_login) { display: block; }
.mv-account-main #customer_login {
  display: grid;
  inline-size: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  max-inline-size: none;
}
.mv-account-main #customer_login::before,
.mv-account-main #customer_login::after { display: none; content: none; }
.mv-account-main #customer_login > div {
  float: none;
  clear: none;
  inline-size: auto;
  min-inline-size: 0;
  margin: 0;
  padding: 32px;
  background: var(--mv-shell);
  border-radius: 16px;
}
.mv-account-main #customer_login h2 { margin-block: 0 24px; font-size: 32px; }
.mv-account-main #customer_login .woocommerce-form {
  max-inline-size: none;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.mv-account-main #customer_login .form-row { margin: 0 0 20px; padding: 0; }
.mv-account-main #customer_login label { display: block; font-size: 14px; font-weight: 650; line-height: 20px; }
.mv-account-main #customer_login .required { color: var(--mv-brand-700); }
.mv-account-main #customer_login :where(input[type="text"],input[type="email"],input[type="password"]) {
  inline-size: 100%;
  min-block-size: 52px;
  font-size: 16px;
  margin-block-start: 8px;
  padding-inline: 14px;
  border: 1px solid var(--mv-line);
  border-radius: 8px;
  background: var(--mv-surface-page);
}
.mv-account-main #customer_login :where(input[type="text"],input[type="email"],input[type="password"]):focus {
  border-color: var(--mv-line);
  box-shadow: none;
  background: color-mix(in oklch, var(--mv-brand-300) 12%, var(--mv-paper));
  outline: none;
}
.mv-account-main #customer_login .password-input { display: block; inline-size: 100%; }
.mv-account-main #customer_login .woocommerce-button {
  min-block-size: 48px;
  padding-inline: 24px;
  border: 0;
  border-radius: 8px;
  background: var(--mv-brand-300);
  color: var(--mv-ink-950);
  font-weight: 700;
}
.mv-account-main #customer_login .woocommerce-form-login__rememberme {
  display: inline-flex;
  min-block-size: 48px;
  margin-inline-start: 16px;
  gap: 9px;
  align-items: center;
  font-weight: 500;
  vertical-align: top;
}
.mv-account-main #customer_login .woocommerce-form-login__rememberme input { inline-size: 18px; block-size: 18px; margin: 0; accent-color: var(--mv-brand-700); }
.mv-account-main #customer_login .lost_password { margin: 0; }
.mv-account-main #customer_login .lost_password a,
.mv-account-main #customer_login .woocommerce-privacy-policy-link { color: var(--mv-brand-700); font-weight: 650; text-underline-offset: 3px; }
.mv-account-main #customer_login .woocommerce-form-register > p:not(.form-row),
.mv-account-main #customer_login .woocommerce-privacy-policy-text { max-inline-size: 44ch; color: var(--mv-ink-500); font-size: 14px; line-height: 1.55; }
.mv-account-main #customer_login .woocommerce-form-register > p:not(.form-row) { margin-block: 0 16px; }
.mv-account-main #customer_login .woocommerce-privacy-policy-text p { margin-block: 0 24px; }
.mv-account-main .woocommerce-MyAccount-navigation li { border: 0; }
.mv-account-main .woocommerce-MyAccount-navigation { grid-column: 1; }
.mv-account-main .woocommerce-MyAccount-content { grid-column: 2; min-inline-size: 0; }
.mv-account-main .woocommerce-MyAccount-navigation a { min-block-size: 54px; padding: 16px; }
.mv-account-main .woocommerce-MyAccount-navigation .is-active a { background: var(--mv-shell); border-radius: 10px; }
.mv-account-main .woocommerce-MyAccount-content :where(table,.woocommerce-orders-table) { inline-size: 100%; border-collapse: collapse; }
.mv-account-main .woocommerce-MyAccount-content :where(th,td) { padding: 18px 12px; border-block-end: 1px solid var(--mv-line); text-align: left; }
.mv-account-main .woocommerce-MyAccount-content .woocommerce-button { min-block-size: 44px; padding: 12px 16px; color: var(--mv-ink-950); background: var(--mv-brand-300); border-radius: 8px; text-decoration: none; }
.mv-account-main.woocommerce-dashboard .mv-account-heading { margin-block-end: 48px; }
.mv-account-dashboard { display: grid; gap: 52px; }
.mv-account-empty,
.mv-account-current { padding: 32px; background: var(--mv-ink-950); border-radius: 16px; color: var(--mv-paper); }
.mv-account-empty { max-inline-size: 400px; min-block-size: 270px; align-content: center; color: var(--mv-ink-950); background: transparent; border: 1px solid var(--mv-line); }
.mv-account-empty h2 { margin-block: 14px 10px; color: var(--mv-ink-950); font-size: 34px; }
.mv-account-empty p:not(.mv-page-eyebrow) { max-inline-size: 580px; color: var(--mv-ink-500); }
.mv-account-empty .mv-button { margin-block-start: 18px; color: var(--mv-ink-950); background: var(--mv-brand-300); }
.mv-account-current { display: grid; grid-template-columns: 1fr auto; gap: 24px; }
.mv-account-current h2 { margin-block: 12px 8px; color: var(--mv-paper); font-size: 34px; }
.mv-account-current > strong { color: var(--mv-brand-300); }
.mv-account-current footer { grid-column: 1 / -1; display: flex; padding-block-start: 22px; align-items: center; justify-content: space-between; border-block-start: 1px solid rgb(244 251 254 / .45); }
.mv-account-current footer > span { font-size: 26px; font-weight: 700; }
.mv-account-history h2,
.mv-account-next h2 { margin: 0 0 22px; font-size: 32px; }
.mv-account-history article { display: grid; grid-template-columns: 110px 140px 1fr 130px 90px; min-block-size: 64px; align-items: center; border-block-end: 1px solid var(--mv-line); }
.mv-account-history article a { color: var(--mv-brand-700); font-weight: 650; text-decoration: none; }
.mv-account-next > div { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.mv-account-next article { display: grid; min-block-size: 190px; padding: 28px; align-content: start; border: 1px solid var(--mv-line); border-radius: 16px; }
.mv-account-next article strong { margin-block: 16px 30px; }
.mv-account-next article a { align-self: end; color: var(--mv-brand-700); font-weight: 650; text-decoration: none; }

/* Service/legal pages share exact 1312 shell; individual modules keep their approved grammar. */
.mv-editorial-page .mv-page-breadcrumbs { font-size: 13px; font-weight: 500; text-transform: none; }
.mv-editorial-page .mv-page-hero { min-block-size: 0; padding-block: 32px 40px; }
.mv-editorial-page .mv-page-hero h1 { max-inline-size: 22ch; margin-block: 16px; font-size: clamp(36px, 4vw, 56px); letter-spacing: -.035em; line-height: 1.08; }
.mv-editorial-page .mv-page-lead { max-inline-size: 64ch; font-size: 18px; line-height: 1.6; }
.mv-contact-primary p, .mv-contact-primary small { color: #cde6f2; }
.mv-contact-primary .mv-page-eyebrow { color: var(--mv-brand-300); }
.mv-page-contacts .mv-page-hero,
.mv-page-vacancies .mv-page-hero { padding-block: var(--mv-space-12) var(--mv-space-16); }
.mv-page-contacts .mv-page-hero h1,
.mv-page-vacancies .mv-page-hero h1,
.mv-page-legal .mv-page-hero h1 { font-size: 58px; letter-spacing: -1.5px; line-height: 1.02; }
.mv-page-legal .mv-page-hero { min-block-size: 0; padding-block: var(--mv-space-12) var(--mv-space-16); }
.mv-page-legal .mv-legal-gate { margin-block: 0 48px; }
.mv-page-legal .mv-legal-toc { max-inline-size: 824px; }
.mv-page-legal .mv-legal-outline { max-inline-size: 1016px; margin-inline-start: auto; }
.mv-page-legal .mv-legal-outline div > p { margin: 0 0 1rem; color: var(--mv-ink-700, #334155); font-size: 1.0625rem; line-height: 1.65; max-inline-size: 68ch; }
.mv-page-legal .mv-legal-outline div > p:last-child { margin-block-end: 0; }
.mv-page-legal .mv-legal-outline div > ul { margin: 0 0 1.25rem; padding-inline-start: 1.5rem; list-style: disc; }
.mv-page-legal .mv-legal-outline div > ul > li { margin-block-end: 0.5rem; color: var(--mv-ink-700, #334155); line-height: 1.6; max-inline-size: 68ch; }
.mv-page-legal .mv-legal-outline div a { color: var(--mv-brand-700); text-decoration: underline; text-underline-offset: 3px; }
.mv-page-legal .mv-legal-outline code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 0.9em; padding: 0.15em 0.4em; background: var(--mv-shell); border-radius: 4px; color: var(--mv-ink-950); }

.mv-legal-requisites { margin: 1.25rem 0 0; display: grid; gap: 0; border: 1px solid var(--mv-line); border-radius: 12px; overflow: hidden; background: #fff; max-inline-size: 68ch; }
.mv-legal-requisites__row { display: grid; grid-template-columns: minmax(140px, 0.7fr) minmax(0, 1.3fr); gap: 1rem; padding: 0.875rem 1.25rem; border-block-end: 1px solid var(--mv-line); align-items: baseline; }
.mv-legal-requisites__row:last-child { border-block-end: none; }
.mv-legal-requisites dt { color: var(--mv-ink-500); font-size: 0.875rem; line-height: 1.5; font-weight: 500; }
.mv-legal-requisites dd { margin: 0; color: var(--mv-ink-950); font-weight: 600; line-height: 1.5; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.mv-legal-requisites dd a { color: var(--mv-brand-700); text-decoration: none; }

.sea-service-policy p + p { margin-block-start: 14px; }
.sea-service-policy strong { color: var(--mv-ink-950); font-weight: 650; }
.sea-service-policy a { color: var(--mv-brand-700); font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 62rem) {
  .mv-editorial-page .mv-page-hero { padding: 24px var(--mv-page-gutter) 32px; }
  .mv-editorial-page .mv-page-hero h1 { font-size: clamp(32px, 5vw, 42px); }
  .mv-editorial-page .mv-page-lead { font-size: 16px; }
  .mv-editorial-page,
  .mv-account-main,
  .mv-article-main,
  .mv-search-head,
  .mv-recovery,
  .mv-generic-page { inline-size: 100%; }

  .mv-search-page { padding: var(--mv-page-top) var(--mv-page-gutter) var(--mv-page-bottom); }
  .mv-search-results-grid { inline-size: 100%; margin-block-start: 32px; }

  .mv-page-blog .mv-page-breadcrumbs { padding-block-start: var(--mv-page-top); }
  .mv-blog-intro { padding: 18px 16px 44px; }
  .mv-blog-intro h1 { font-size: 37px; }
  .mv-blog-feature { grid-template-columns: 1fr; gap: 0; padding: 0 16px 68px; }
  .mv-blog-feature img { block-size: 270px; }
  .mv-blog-feature > div { padding-block: 28px 0; }
  .mv-blog-feature h2 { font-size: 34px; }
  .mv-blog-guides { padding: 0 16px 54px; }
  .mv-blog-guides > h2 { font-size: 30px; }
  .mv-blog-guides > div { grid-template-columns: 1fr; gap: 54px; }
  .mv-blog-question-list article { grid-template-columns: 112px 32px minmax(0,1fr); grid-template-rows: auto auto auto; min-block-size: 218px; padding: 0 0 26px; gap: 8px 16px; }
  .mv-blog-question-list img { grid-column: 1; grid-row: 1 / span 2; inline-size: 112px; block-size: 112px; }
  .mv-blog-question-list b { grid-column: 2; }
  .mv-blog-question-list h3 { grid-column: 3; font-size: 21px; }
  .mv-blog-question-list p { grid-column: 3; }
  .mv-blog-question-list a { grid-column: 3; grid-row: 3; }
  .mv-blog-topic-routes { padding: 20px; }
  .mv-blog-catalog-context { display: block; min-block-size: 190px; margin: 0 16px 64px; padding: 22px 20px; }
  .mv-blog-catalog-context .mv-button { inline-size: 100%; margin-block-start: 20px; }

  .mv-article-main { padding-inline: 16px; }
  .mv-article-head { padding: 20px 0 32px; }
  .mv-article-head h1 { font-size: 38px; }
  .mv-article-head .wp-block-post-excerpt { font-size: 17px; }
  .mv-article-hero { margin-block-end: 54px !important; }
  .mv-article-hero img { block-size: 300px; border-radius: 12px; }
  .mv-article-layout { grid-template-columns: 1fr; }
  .mv-article-prose { font-size: 16px; }
  .mv-article-prose :where(h2,h3) { margin-block-start: 54px; font-size: 27px; }
  .mv-article-navigation { display: none; }
  .mv-article-product-context { display: block; min-block-size: 250px; margin-block-start: 56px !important; }

  .mv-account-main { padding: var(--mv-page-top) var(--mv-page-gutter) var(--mv-page-bottom); }
  .mv-account-heading { margin-block-end: var(--mv-space-6); }
  .mv-account-heading h1 { font-size: 40px; }
  .mv-account-main .woocommerce { grid-template-columns: 1fr; gap: 24px; }
  .mv-account-main .woocommerce-MyAccount-navigation,
  .mv-account-main .woocommerce-MyAccount-content { grid-column: 1; }
  .mv-account-main #customer_login { grid-template-columns: 1fr; gap: 16px; }
  .mv-account-main #customer_login > div { padding: 22px 20px; }
  .mv-account-main #customer_login h2 { font-size: 28px; }
  .mv-account-main .woocommerce-MyAccount-navigation ul { gap: 0; padding: 4px; background: var(--mv-shell); border-radius: 10px; }
  .mv-account-main .woocommerce-MyAccount-navigation { min-inline-size: 0; max-inline-size: 100%; overflow-x: auto; }
  .mv-account-main .woocommerce-MyAccount-navigation ul { inline-size: max-content; min-inline-size: 100%; }
  .mv-account-main .woocommerce-MyAccount-navigation a { min-block-size: 40px; padding: 10px 12px; font-size: 13px; }
  .mv-account-main .woocommerce-MyAccount-content :where(table,tbody,tr,td) { display: block; inline-size: 100%; }
  .mv-account-main .woocommerce-MyAccount-content thead { display: none; }
  .mv-account-main .woocommerce-MyAccount-content tr { margin-block-end: 16px; padding: 16px; border: 1px solid var(--mv-line); border-radius: 10px; }
  .mv-account-dashboard { gap: 42px; }
  .mv-account-empty,
  .mv-account-current { padding: 24px 18px; border-radius: 14px; }
  .mv-account-empty { min-block-size: 300px; }
  .mv-account-empty h2,
  .mv-account-current h2 { font-size: 28px; }
  .mv-account-current { grid-template-columns: 1fr; }
  .mv-account-current footer { display: grid; grid-template-columns: 1fr; gap: 18px; }
  .mv-account-history article { grid-template-columns: 1fr 1fr; gap: 12px; margin-block-end: 14px; padding: 18px 14px; border: 1px solid var(--mv-line); border-radius: 12px; }
  .mv-account-history article a { grid-column: 1 / -1; }
  .mv-account-next > div { grid-template-columns: 1fr; gap: 14px; }
  .mv-account-next article { min-block-size: 170px; padding: 22px 16px; }

  .mv-generic-page { padding: var(--mv-space-6) var(--mv-page-gutter) var(--mv-page-bottom); }
  .mv-generic-page__header h1 { margin-block-end: var(--mv-space-6); font-size: 38px; }

  .mv-page-legal .mv-legal-outline { max-inline-size: none; margin-inline-start: 0; }
  .mv-legal-requisites__row { grid-template-columns: 1fr; gap: 0.25rem; padding: 0.75rem 1rem; }
}
