/* Wedding subscriptions global styles */

/* wedding-subscription */
    .wedding-page {
      padding-bottom: 70px;
      background: #fff;
    }

    .wedding-page .breadcrumbs-wrapper {
      margin-bottom: 12px;
    }

    .wedding-hero {
      display: grid;
      grid-template-columns: 355px minmax(0, 1fr);
      gap: 46px;
      align-items: center;
      padding: 22px 18px 26px;
      margin-bottom: 62px;
    }

    .wedding-hero__media,
    .wedding-faq__visual {
      position: relative;
      z-index: 1;
      min-width: 0;
    }

    .wedding-slider {
      overflow: hidden;
      background: #fff;
    }

    .wedding-slider .swiper-slide {
      height: auto;
    }

    .wedding-hero-slider {
      border-radius: 22px;
      box-shadow: 0 20px 40px rgba(52, 44, 42, 0.10);
    }

    .wedding-faq-slider {
      width: 100%;
      border-radius: 20px;
      box-shadow: 0 18px 36px rgba(83, 67, 68, 0.10);
    }

    .wedding-hero__image {
      width: 100%;
      height: 250px;
      object-fit: cover;
      display: block;
    }

    .wedding-slider-dots {
      display: flex;
      justify-content: center;
      gap: 8px;
      margin-top: 14px;
      position: static;
    }

    .wedding-slider-dots .swiper-pagination-bullet {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: #c56f61;
      opacity: 0.55;
      margin: 0;
    }

    .wedding-slider-dots .swiper-pagination-bullet-active {
      width: 20px;
      border-radius: 999px;
      opacity: 1;
      background: #ab4031;
    }

    .wedding-hero__content {
      position: relative;
      z-index: 1;
      max-width: 640px;
      padding: 2px 0 0;
    }

    .wedding-hero__title {
      max-width: 620px;
      margin: 0 0 18px;
      color: #41383e;
      font-size: 42px;
      font-weight: 300;
      line-height: 1.02;
      letter-spacing: 0.01em;
      text-transform: uppercase;
    }

    .wedding-hero__text {
      max-width: 700px;
      margin: 0 0 28px;
      color: #8b8184;
      font-size: 17px;
      line-height: 1.78;
    }

    .wedding-page .btn.btn-primary {
      min-width: 198px;
      padding: 14px 28px;
      border-radius: 14px;
      font-size: 15px;
      box-shadow: none;
      transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    }

    .wedding-page .btn.btn-primary:hover {
      background: #9f3b2d;
      transform: translateY(-1px);
      box-shadow: 0 12px 22px rgba(171, 64, 49, 0.18);
    }

    .wedding-section {
      margin-top: 56px;
    }

    .wedding-section--soft {
      margin-top: 0;
      padding: 40px 0 46px;
      background: #fcf1ed;
    }

    .wedding-section__title {
      margin: 0 0 24px;
      color: #cb6d5b;
      font-size: 46px;
      font-weight: 300;
      line-height: 1.15;
      letter-spacing: 0.03em;
      text-align: center;
      text-transform: uppercase;
    }

    .wedding-reasons {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    .wedding-reason {
      min-height: 196px;
      padding: 28px 22px;
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 12px 30px rgba(88, 67, 64, 0.10);
      text-align: center;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

    .wedding-reason:hover {
      transform: translateY(-2px);
      box-shadow: 0 18px 34px rgba(88, 67, 64, 0.14);
    }

    .wedding-reason__icon {
      width: 56px;
      height: 56px;
      margin: 0 auto 18px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .wedding-reason__icon svg {
      width: 56px;
      height: 56px;
      overflow: visible;
    }

    .wedding-reason__text {
      color: #5a4b4d;
      font-size: 18px;
      line-height: 1.38;
    }

    .wedding-steps {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
      margin-top: 32px;
    }

    .wedding-step {
      position: relative;
      text-align: center;
      padding: 0 12px;
    }

    .wedding-step:after {
      content: "";
      position: absolute;
      top: 20px;
      left: calc(50% + 34px);
      width: calc(100% - 68px);
      height: 1px;
      background: #f1dcd4;
    }

    .wedding-step:last-child:after {
      display: none;
    }

    .wedding-step__number {
      position: relative;
      z-index: 1;
      width: 42px;
      height: 42px;
      margin: 0 auto 20px;
      border: 1px solid #edcbbb;
      border-radius: 50%;
      background: #fff;
      color: #d5937f;
      font-size: 14px;
      line-height: 42px;
      font-weight: 500;
      box-shadow: none;
    }

    .wedding-step__title {
      margin: 0 0 8px;
      color: #5a4b4d;
      font-size: 22px;
      font-weight: 400;
    }

    .wedding-step__text {
      margin: 0;
      color: #b3a7aa;
      font-size: 16px;
      line-height: 1.55;
    }

    .wedding-steps__cta {
      margin-top: 34px;
      text-align: center;
    }

    .wedding-faq {
      display: grid;
      grid-template-columns: minmax(0, 1.18fr) 312px;
      gap: 26px;
      align-items: start;
      margin-top: 26px;
    }

    .wedding-faq__list {
      display: grid;
      gap: 16px;
      min-width: 0;
    }

    .wedding-faq-item {
      border-radius: 20px;
      background: #fff;
      box-shadow: 0 12px 28px rgba(83, 67, 68, 0.10);
      overflow: hidden;
      transition: box-shadow 0.2s ease, transform 0.2s ease;
    }

    .wedding-faq-item:hover {
      transform: translateY(-1px);
      box-shadow: 0 18px 32px rgba(83, 67, 68, 0.14);
    }

    .wedding-faq-item__toggle {
      width: 100%;
      border: 0;
      background: transparent;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      padding: 22px 24px 18px;
      color: #5a4b4d;
      font-size: 20px;
      line-height: 1.35;
      text-align: left;
    }

    .wedding-faq-item__icon {
      flex: 0 0 auto;
      color: #c56453;
      font-size: 28px;
      line-height: 1;
      font-weight: 300;
    }

    .wedding-faq-item__body {
      display: none;
      padding: 0 24px 22px;
      color: #aea2a6;
      font-size: 16px;
      line-height: 1.75;
    }

    .wedding-faq-item.is-open .wedding-faq-item__body {
      display: block;
    }

    .wedding-faq-item__body p {
      margin: 0 0 8px;
    }

    .wedding-faq-item__body ul {
      margin: 8px 0 8px 18px;
      padding: 0;
    }

    .wedding-faq__image {
      width: 100%;
      height: 405px;
      object-fit: cover;
      display: block;
    }

    .wedding-faq__actions {
      margin-top: 18px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
    }

    @media (max-width: 1199px) {
      .wedding-hero {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 16px 0 0;
      }

      .wedding-hero__content {
        padding: 0;
        max-width: none;
      }

      .wedding-hero__content .btn.btn-primary {
        display: flex;
        align-items: center;
        justify-content: center;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
      }

      .wedding-reasons {
        grid-template-columns: 1fr 1fr;
      }

      .wedding-steps {
        max-width: 720px;
        margin: 32px auto 0;
        grid-template-columns: 1fr;
        gap: 0;
      }

      .wedding-step {
        display: grid;
        grid-template-columns: 78px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 14px;
        min-height: 92px;
        padding: 0;
        text-align: left;
        align-items: start;
      }

      .wedding-step:after {
        top: 46px;
        left: 29px;
        width: 1px;
        height: calc(100% - 46px);
        background: #f1dcd4;
      }

      .wedding-step:last-child:after {
        display: none;
      }

      .wedding-step__number {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 58px;
        height: 58px;
        margin: 0;
        line-height: 56px;
        text-align: center;
        justify-self: start;
        background: #fff;
        color: #c96d5b;
        box-shadow: 0 0 0 6px #fff;
      }

      .wedding-step__title {
        grid-column: 2;
        grid-row: 1;
        margin: 3px 0 8px;
        font-size: 21px;
        line-height: 1.25;
      }

      .wedding-step__text {
        grid-column: 2;
        grid-row: 2;
        max-width: 560px;
        font-size: 16px;
        line-height: 1.55;
      }

      .wedding-faq {
        grid-template-columns: minmax(0, 1fr);
        gap: 24px;
      }

      .wedding-faq__visual {
        width: 100%;
        max-width: 620px;
        margin: 0 auto;
      }

      .wedding-faq__image {
        height: 360px;
      }

      #wedding-faq {
        display: block;
      }

      .wedding-faq__visual {
        display: none;
      }
    }

    @media (max-width: 767px) {
      .wedding-page {
        padding-bottom: 44px;
      }

      .wedding-hero {
        margin-bottom: 42px;
      }

      .wedding-hero__content {
        text-align: center;
      }

      .wedding-hero__content .btn.btn-primary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
      }

      .wedding-hero__title,
      .wedding-section__title {
        font-size: 31px;
      }

      .wedding-hero__text,
      .wedding-faq-item__body {
        font-size: 15px;
      }

      .wedding-hero__image {
        height: 220px;
      }

      .wedding-reasons {
        grid-template-columns: 1fr;
      }

      .wedding-section {
        margin-top: 44px;
      }

      .wedding-section--soft {
        padding: 32px 0 36px;
      }

      .wedding-section__title {
        margin-bottom: 24px;
        line-height: 1.18;
      }

      .wedding-reasons {
        gap: 14px;
      }

      .wedding-reason {
        min-height: 0;
        padding: 24px 18px;
      }

      .wedding-reason__text {
        font-size: 16px;
      }

      .wedding-steps {
        max-width: 460px;
        grid-template-columns: 1fr;
        gap: 0;
        margin: 24px auto 0;
      }

      .wedding-step {
        display: grid;
        grid-template-columns: 66px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 12px;
        min-height: 98px;
        padding: 0;
        text-align: left;
        align-items: start;
      }

      .wedding-step:after {
        display: block;
        top: 56px;
        left: 28px;
        width: 1px;
        height: calc(100% - 56px);
        background: #f1dcd4;
      }

      .wedding-step:last-child:after {
        display: none;
      }

      .wedding-step__number {
        grid-column: 1;
        grid-row: 1 / 3;
        width: 56px;
        height: 56px;
        margin: 0;
        line-height: 54px;
        font-size: 14px;
        text-align: center;
        justify-self: start;
        background: #fff;
        color: #c46d5b;
        box-shadow: 0 0 0 6px #fff;
      }

      .wedding-step__title {
        grid-column: 2;
        grid-row: 1;
        margin: 4px 0 7px;
        font-size: 18px;
        line-height: 1.25;
      }

      .wedding-step__text {
        grid-column: 2;
        grid-row: 2;
        max-width: none;
        padding-right: 4px;
        font-size: 15px;
        line-height: 1.55;
      }

      .wedding-steps__cta {
        margin-top: 24px;
        text-align: center;
      }

      .wedding-steps__cta .btn.btn-primary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
        min-width: 208px;
      }

      .wedding-faq {
        grid-template-columns: 1fr;
        gap: 22px;
      }

      .wedding-faq-item__toggle {
        padding: 18px 18px 15px;
        gap: 12px;
        font-size: 16px;
      }

      .wedding-faq-item__icon {
        font-size: 24px;
      }

      .wedding-faq-item__body {
        padding: 0 18px 18px;
        line-height: 1.65;
      }

      .wedding-faq__visual {
        width: 100%;
        max-width: none;
        margin: 0;
      }

      .wedding-faq-slider {
        border-radius: 18px;
      }

      .wedding-faq__image {
        height: 300px;
      }

      .wedding-faq__actions {
        align-items: center;
      }
    }

    @media (max-width: 480px) {
      .wedding-hero__title,
      .wedding-section__title {
        font-size: 27px;
      }

      .wedding-steps {
        max-width: 360px;
      }

      .wedding-step {
        grid-template-columns: 64px minmax(0, 1fr);
        column-gap: 10px;
        min-height: 104px;
      }

      .wedding-step:after {
        left: 26px;
        top: 54px;
        height: calc(100% - 54px);
      }

      .wedding-step__number {
        width: 52px;
        height: 52px;
        line-height: 50px;
      }

      .wedding-step__title {
        font-size: 17px;
      }

      .wedding-step__text {
        font-size: 14px;
      }

      .wedding-faq__image {
        height: 260px;
      }
    }
  

/* wedding-subscription-public */
      .wedding-public-page {
        padding-bottom: 72px;
      }

      .wedding-public-page .breadcrumbs-wrapper {
        display: none;
      }

      .wedding-public-page.is-closed .wedding-public-side {
        display: none;
      }

      .wedding-public-page.is-closed .wedding-public-layout {
        display: block;
      }


      .wedding-public-intro {
        margin-bottom: 16px;
        text-align: center;
        padding: 21px 0;
      }

      .wedding-public-intro__title {
        margin: 0;
        color: #362C2B;
        font-size: 24px;
        font-weight: 400;
        line-height: 1.25;
        letter-spacing: 0.04em;
        text-transform: uppercase;
      }

      .wedding-public-intro__countdown {
        margin-top: 10px;
        color: #362C2B;
        font-size: 24px;
        font-weight: 700;
        line-height: 1.2;
        text-transform: uppercase;
      }

      .wedding-public-intro__countdown span {
        color: #AB4031;
      }

      .wedding-public-layout {
        display: grid;
        grid-template-columns: .4fr 1fr;
        gap: 20px;
        align-items: start;
      }

      .wedding-public-side {
        padding-top: 0;
      }

      .wedding-public-side__photo {
        width: 100%;
        height: auto;
        aspect-ratio: 516 / 645;
        border-radius: 32px;
        object-fit: cover;
        display: block;
        box-shadow: none;
      }

      .wedding-public-side__meta {
        margin-top: 8px;
        padding: 16px 16px 0 16px;
      }

      .wedding-public-side__label {
        margin: 0 0 8px;
        color: #999999;
        font-size: 16px;
        line-height: 1.25;
      }

      .wedding-public-side__value {
        margin: 0 0 32px;
        color: #362C2B;
        font-size: 18px;
        line-height: 1.3;
      }

      .wedding-public-side__note {
        margin: 32px 0 0;
        padding: 0 16px 16px;
        color: #4a4146;
        font-size: 20px;
        line-height: 1.25;
        font-style: italic;
      }

      .wedding-public-form {
        padding-top: 0;
      }

      .wedding-public-form__section {
        margin-bottom: 32px;
      }

      .wedding-public-form__heading {
        margin: 0 0 8px;
        color: #000000;
        font-size: 20px;
        font-weight: 400;
        line-height: 1.25;
        text-transform: none;
      }

      .wedding-public-form__label {
        margin: 24px 0 16px;
        color: #999999;
        font-size: 14px;
        line-height: 1.2;
      }

      .wedding-public-field,
      .wedding-public-textarea {
        width: 100%;
        border: 1px solid #D4D4D4;
        border-radius: 11px;
        background: #fff;
        color: #999999;
        font-size: 16px;
        line-height: 1.4;
        box-shadow: none;
        box-sizing: border-box;
        transition: border-color 0.2s ease, box-shadow 0.2s ease;
      }

      .wedding-public-field {
        height: 48px;
        padding: 18px 18px;
      }

      .wedding-public-textarea {
        min-height: 90px;
        padding: 13px 14px;
        resize: vertical;
      }

      .wedding-public-field::placeholder,
      .wedding-public-textarea::placeholder {
        color: #b8b0b3;
      }

      .wedding-public-field:focus,
      .wedding-public-textarea:focus {
        border-color: #c77262;
        outline: none;
        box-shadow: 0 0 0 3px rgba(199, 114, 98, 0.08);
      }

      .wedding-public-sizes {
        display: grid;
        gap: 5px;
      }

      .wedding-public-size {
        display: grid;
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 16px;
        align-items: center;
        cursor: pointer;
      }

      .wedding-public-size__trigger {
        border: 1px solid #AB4031;
        border-radius: 16px;
        padding: 9px 18px;
        background: #fff;
        color: #AB4031;
        font-size: 14px;
        font-weight: 400;
        text-align: center;
        transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
      }

      .wedding-public-size__content {
        padding-top: 0;
      }

      .wedding-public-size__price {
        color: #000000;
        font-size: 14px;
        line-height: 1.15;
        font-weight: 700;
        margin: 0;
      }

      .wedding-public-size__desc {
        margin: 0;
        color: #999999;
        font-size: 12px;
        line-height: 1.2;
      }

      .wedding-public-size[data-size="2XL"] .wedding-public-size__price {
        display: none;
      }

      .wedding-public-size.is-active .wedding-public-size__trigger {
        background: #AB4031;
        border-color: #AB4031;
        color: #fff;
      }

      .wedding-public-size.is-active .wedding-public-size__price {
        color: #ab4031;
      }

      .wedding-public-custom {
        margin-top: 8px;
      }

      .wedding-public-custom__label {
        margin: 0 0 9px;
        color: #362C2B;
        font-size: 14px;
        line-height: 1.2;
      }

      .wedding-public-payment {
        margin-top: 0;
      }

      .wedding-public-payment .wedding-public-form__heading {
        margin-bottom: 11px;
      }

      .wedding-public-payment__row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        margin-bottom: 32px;
        color: #b0a4a8;
        font-size: 16px;
        line-height: 1.25;
      }

      .wedding-public-payment__sum {
        color: #362C2B;
        font-size: 16px;
        font-weight: 400;
        white-space: nowrap;
      }

      .wedding-public-submit {
        width: 100%;
        min-height: 60px;
        border: 0;
        border-radius: 16px;
        background: #999999;
        color: #fff;
        font-size: 14px;
        font-weight: 400;
        transition: background-color 0.2s ease, transform 0.2s ease;
      }

      .wedding-public-submit.is-ready {
        background: #ab4031;
      }

      .wedding-public-submit.is-ready:hover {
        background: #963727;
        transform: translateY(-1px);
      }

      .wedding-public-submit.is-submitting {
        background: #7f2f24;
        cursor: not-allowed;
        transform: none;
        opacity: 0.9;
      }

      .wedding-public-consent {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        margin-top: 13px;
        color: #b0a4a8;
        font-size: 14px;
        line-height: 1.4;
      }

      .wedding-public-consent input {
        margin-top: 2px;
        flex: 0 0 auto;
      }

      .wedding-public-consent a {
        color: #AB4031;
        text-decoration: none;
      }

      .wedding-public-feedback {
        display: none;
        margin-bottom: 18px;
        padding: 14px 18px;
        border-radius: 16px;
        font-size: 15px;
        line-height: 1.45;
      }

      .wedding-public-feedback.is-visible {
        display: block;
      }

      .wedding-public-feedback.is-success {
        background: #eff8ee;
        color: #3f6d3c;
      }

      .wedding-public-feedback.is-error {
        background: #fff1ef;
        color: #a24737;
      }

      .wedding-public-feedback.is-warning {
        background: #fff8ea;
        color: #936a1f;
      }

      .wedding-public-closed {
        width: 100%;
        text-align: center;
      }

      .wedding-public-closed__title {
        margin: 0 0 18px;
        color: #4a4146;
        font-size: 26px;
        line-height: 1.15;
        font-weight: 300;
        letter-spacing: 0.04em;
        text-transform: uppercase;
      }

      .wedding-public-closed__photo-wrap {
        max-width: 294px;
        margin: 0 auto 18px;
      }

      .wedding-public-closed__photo {
        width: 100%;
        height: 366px;
        border-radius: 24px;
        object-fit: cover;
        display: block;
      }

      .wedding-public-closed__event {
        margin: 0 0 6px;
        color: #4a4146;
        font-size: 18px;
        line-height: 1.3;
      }

      .wedding-public-closed__date {
        margin: 0;
        color: #b0a4a8;
        font-size: 18px;
        line-height: 1.3;
      }

      .wedding-public-closed__badge,
      .wedding-public-closed .wedding-public-closed__title:not(:first-child),
      .wedding-public-closed__text {
        display: none;
      }

      .wedding-success-modal {
        padding: 18px 22px 16px;
        text-align: center;
      }

      .wedding-success-modal__title {
        margin: 10px 0 24px;
        color: #4a4146;
        font-size: 20px;
        line-height: 1.3;
        font-weight: 300;
        text-transform: uppercase;
      }

      .wedding-success-modal__button {
        width: 100%;
        min-height: 36px;
        border: 0;
        border-radius: 8px;
        background: #b44736;
        color: #fff;
        font-size: 14px;
        transition: background-color 0.2s ease;
      }

      .wedding-success-modal__button:hover {
        background: #9d3c2d;
      }

      @media (max-width: 767px) {
        .wedding-public-shell {
          max-width: 100%;
        }

        .wedding-public-intro {
          margin-bottom: 28px;
        }

        .wedding-public-intro__title {
          font-size: 18px;
        }

        .wedding-public-intro__countdown {
          font-size: 18px;
        }

        .wedding-public-layout {
          grid-template-columns: 1fr;
          gap: 26px;
        }

        .wedding-public-side {
          max-width: 320px;
          margin: 0 auto;
        }

        .wedding-public-side__photo {
          width: 100%;
          height: 360px;
        }

        .wedding-public-form {
          width: 100%;
        }

        .wedding-public-closed__title {
          font-size: 22px;
        }
      }

      @media (max-width: 480px) {
        .wedding-public-intro__title {
          font-size: 16px;
          letter-spacing: 0.04em;
        }

        .wedding-public-intro__countdown {
          font-size: 16px;
        }

        .wedding-public-side__photo {
          height: 310px;
        }

        .wedding-public-closed__photo {
          height: 320px;
          border-radius: 20px;
        }

        .wedding-public-closed__title,
        .wedding-public-closed__event,
        .wedding-public-closed__date {
          font-size: 16px;
        }
      }
    

/* wedding-subscription-request */
    .wedding-request-page {
      padding-bottom: 45px;
      background: #fff;
    }

    .wedding-request-page .breadcrumbs-wrapper {
      margin-bottom: 18px;
    }

    body.modal-open {
      overflow: hidden;
    }

    .wedding-request-page__title {
      margin: 0 0 34px;
      color: #43393d;
      font-size: 36px;
      font-weight: 300;
      line-height: 1.05;
      letter-spacing: 0.03em;
      text-align: center;
      text-transform: uppercase;
      padding: 3px 0;
    }

    .wedding-request-layout {
      display: grid;
      grid-template-columns: 328px minmax(0, 710px);
      gap: 20px;
      align-items: start;
      justify-content: center;
    }

    .wedding-request-aside {
      text-align: center;
    }

    .wedding-request-aside__photo {
      width: 100%;
      height: 408px;
      border-radius: 28px;
      overflow: hidden;
      background: #f5efec;
      box-shadow: 0 18px 42px rgba(92, 74, 69, 0.12);
    }

    .wedding-request-aside__photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }

    .wedding-request-upload {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 10px;
      margin-top: 14px;
    }

    .wedding-request-upload__input {
      display: none;
    }

    .wedding-request-upload__input[hidden] {
      display: none !important;
      width: 0 !important;
      height: 0 !important;
      opacity: 0 !important;
      visibility: hidden !important;
      position: absolute !important;
      left: -9999px !important;
      pointer-events: none !important;
    }

    .wedding-request-upload__button {
      min-width: 208px;
      padding: 13px 22px;
      border: 0;
      border-radius: 15px;
      background: #b84a38;
      color: #fff;
      font-size: 15px;
      line-height: 1.2;
      transition: background-color 0.2s ease, transform 0.2s ease;
    }

    .wedding-request-upload__button:hover {
      background: #a63f2f;
      transform: translateY(-1px);
    }

    .wedding-request-aside__note {
      margin: 12px 0 0;
      color: #4d4044;
      font-size: 16px;
      line-height: 1.35;
    }

    .wedding-request-form__section + .wedding-request-form__section {
      margin-top: 32px;
    }

    .wedding-request-form__section-title {
      margin: 0 0 32px;
      color: #2f2529;
      font-size: 32px;
      font-weight: 300;
      line-height: 40px;
      letter-spacing: 0.02em;
      text-transform: none;
    }

    .wedding-request-form__grid {
      display: grid;
      gap: 18px;
    }

    .wedding-request-form__label {
      display: block;
      margin: 0 0 8px;
      color: #6d6164;
      font-size: 14px;
      line-height: 1.35;
    }

    .wedding-request-form__label strong {
      font-weight: 500;
    }

    .wedding-request-form__input,
    .wedding-request-form__textarea {
      width: 100%;
      border: 1px solid #eadfd9;
      border-radius: 18px;
      background: #fff;
      color: #4f4648;
      font-size: 17px;
      line-height: 1.4;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .wedding-request-form__input {
      height: 50px;
      padding: 0 16px;
    }

    .wedding-request-form__textarea {
      min-height: 110px;
      padding: 14px 16px;
      resize: vertical;
    }

    .wedding-request-form__input::placeholder,
    .wedding-request-form__textarea::placeholder {
      color: #b8aeb1;
    }

    .wedding-request-form__input:focus,
    .wedding-request-form__textarea:focus {
      outline: 0;
      border-color: #d9b9ae;
      box-shadow: 0 0 0 3px rgba(217, 185, 174, 0.16);
    }

    .wedding-request-form__address-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
      align-items: end;
    }

    .wedding-request-form__address-grid > :first-child {
      grid-column: 1 / -1;
    }

    .wedding-request-form__toggle-group {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .wedding-request-form__toggle {
      min-width: 162px;
      min-height: 42px;
      padding: 0 18px;
      border: 1px solid #d8b4a8;
      border-radius: 14px;
      background: #fff;
      color: #b85a49;
      font-size: 14px;
      line-height: 40px;
      text-align: center;
      transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .wedding-request-form__toggle:hover {
      border-color: #c98979;
    }

    .wedding-request-form__toggle.is-active {
      border-color: #b84a38;
      background: #b84a38;
      color: #fff;
      box-shadow: 0 10px 18px rgba(184, 74, 56, 0.18);
    }

    .wedding-request-form__toggle--day {
      min-width: 48px;
      padding: 0 10px;
    }

    .wedding-request-form__toggle--wide {
      min-width: 132px;
    }

    .wedding-request-form__hint {
      margin-top: 8px;
      color: #b1a4a7;
      font-size: 13px;
      line-height: 1.4;
    }

    .wedding-request-form__district {
      display: none;
      margin-top: 10px;
      padding: 10px 14px;
      border-radius: 14px;
      background: #faf5f2;
      color: #7a6d70;
      font-size: 14px;
      line-height: 1.4;
    }

    .wedding-request-form__district.is-visible {
      display: block;
    }

    .wedding-request-form__district strong {
      color: #5a4d50;
      font-weight: 500;
    }

    .dadata-field {
      position: relative;
    }

    .dadata-suggest {
      position: absolute;
      top: calc(100% + 6px);
      left: 0;
      right: 0;
      z-index: 30;
      display: none;
      border: 1px solid #eadfd9;
      border-radius: 18px;
      background: #fff;
      box-shadow: 0 18px 40px rgba(92, 74, 69, 0.14);
      overflow: hidden;
    }

    .dadata-suggest.is-visible {
      display: block;
    }

    .dadata-suggest__item {
      display: block;
      width: 100%;
      padding: 12px 16px;
      border: 0;
      border-bottom: 1px solid #f2e9e5;
      background: #fff;
      text-align: left;
    }

    .dadata-suggest__item:last-child {
      border-bottom: 0;
    }

    .dadata-suggest__item:hover {
      background: #faf5f2;
    }

    .dadata-suggest__main {
      display: block;
      color: #4f4648;
      font-size: 15px;
      line-height: 1.35;
    }

    .dadata-suggest__meta {
      display: block;
      margin-top: 2px;
      color: #a9999d;
      font-size: 12px;
      line-height: 1.35;
    }

    .wedding-request-submit-wrap {
      margin-top: 30px;
    }

    .wedding-request-submit {
      width: 100%;
      height: 56px;
      border: 0;
      border-radius: 14px;
      background: #c8c8c8;
      color: #fff;
      font-size: 16px;
      transition: background-color 0.2s ease, transform 0.2s ease;
    }

    .wedding-request-submit.is-ready {
      background: #b84a38;
    }

    .wedding-request-submit.is-ready:hover {
      background: #a63f2f;
      transform: translateY(-1px);
    }

    .wedding-request-consent {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-top: 14px;
      color: #a9999d;
      font-size: 14px;
      line-height: 1.45;
    }

    .wedding-request-consent input {
      margin-top: 3px;
    }

    .wedding-request-consent a {
      color: #c05c4a;
      text-decoration: none;
    }

    .wedding-request-consent a:hover {
      text-decoration: underline;
    }

    .wedding-auth-modal {
      position: fixed;
      inset: 0;
      z-index: 1200;
      display: none;
      padding: 24px;
      overflow-y: auto;
    }

    .wedding-auth-modal.is-open {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .wedding-auth-modal__overlay {
      position: fixed;
      inset: 0;
      background: rgba(184, 74, 56, 0.58);
      backdrop-filter: blur(2px);
    }

    .wedding-auth-modal__dialog {
      position: relative;
      z-index: 1;
      width: min(92vw, 680px);
      max-height: calc(100vh - 48px);
      overflow-y: auto;
      margin: auto;
      border-radius: 22px;
      background: #fff;
      box-shadow: 0 24px 70px rgba(77, 49, 43, 0.18);
      padding: 28px 42px 34px;
    }

    .wedding-auth-modal__dialog--register {
      width: min(92vw, 740px);
    }

    .wedding-auth-modal__dialog--recovery {
      width: min(92vw, 600px);
    }

    .wedding-auth-modal__close {
      position: absolute;
      top: 18px;
      right: 18px;
      width: 40px;
      height: 40px;
      border: 0;
      border-radius: 50%;
      background: #b84a38;
      color: #fff;
      font-size: 26px;
      line-height: 40px;
      text-align: center;
      z-index: 2;
    }

    .wedding-auth-modal__title {
      margin: 12px 0 24px;
      color: #43393d;
      font-size: 30px;
      font-weight: 300;
      line-height: 1.08;
      text-align: center;
      text-transform: uppercase;
    }

    .wedding-auth-modal__desc {
      max-width: 500px;
      margin: -6px auto 24px;
      color: #a79ca0;
      font-size: 15px;
      line-height: 1.55;
      text-align: center;
    }

    .wedding-auth-modal__grid {
      display: grid;
      gap: 18px 16px;
    }

    .wedding-auth-modal__grid--two {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .wedding-auth-modal__field label {
      display: block;
      margin-bottom: 8px;
      color: #4d4044;
      font-size: 13px;
      line-height: 1.35;
    }

    .wedding-auth-modal__input,
    .wedding-auth-modal__password-field {
      width: 100%;
      height: 54px;
      border: 1px solid #eadfd9;
      border-radius: 18px;
      background: #fff;
      color: #4f4648;
      font-size: 17px;
      line-height: 1.35;
      transition: border-color 0.2s ease, box-shadow 0.2s ease;
    }

    .wedding-auth-modal__input {
      padding: 0 18px;
    }

    .wedding-auth-modal__password-wrap {
      position: relative;
    }

    .wedding-auth-modal__password-field {
      padding: 0 54px 0 18px;
    }

    .wedding-auth-modal__password-toggle {
      position: absolute;
      top: 50%;
      right: 17px;
      transform: translateY(-50%);
      width: 24px;
      height: 24px;
      border: 0;
      background: transparent;
      padding: 0;
    }

    .wedding-auth-modal__password-toggle img {
      width: 100%;
      height: 100%;
      display: block;
    }

    .wedding-auth-modal__input::placeholder,
    .wedding-auth-modal__password-field::placeholder {
      color: #c5babc;
    }

    .wedding-auth-modal__input:focus,
    .wedding-auth-modal__password-field:focus {
      outline: 0;
      border-color: #d9b9ae;
      box-shadow: 0 0 0 3px rgba(217, 185, 174, 0.16);
    }

    .wedding-auth-modal__footer {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 18px;
      margin-top: 24px;
    }

    .wedding-auth-modal__submit {
      min-width: 230px;
      height: 54px;
      border: 0;
      border-radius: 15px;
      background: #b84a38;
      color: #fff;
      font-size: 18px;
      line-height: 1;
      transition: background-color 0.2s ease, transform 0.2s ease;
    }

    .wedding-auth-modal__submit:hover {
      background: #a63f2f;
      transform: translateY(-1px);
    }

    .wedding-auth-modal__links {
      color: #b3a7ab;
      font-size: 15px;
      line-height: 1.55;
      text-align: right;
    }

    .wedding-auth-modal__links button,
    .wedding-auth-modal__links a {
      color: inherit;
      text-decoration: none;
      border: 0;
      background: transparent;
      padding: 0;
    }

    .wedding-auth-modal__links button:hover,
    .wedding-auth-modal__links a:hover {
      color: #b84a38;
    }

    .wedding-auth-modal__consent {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin-top: 8px;
      color: #9e9195;
      font-size: 14px;
      line-height: 1.45;
    }

    .wedding-auth-modal__consent input {
      margin-top: 3px;
    }

    .wedding-auth-modal__consent a {
      color: #c05c4a;
      text-decoration: none;
    }

    .wedding-auth-modal__consent a:hover {
      text-decoration: underline;
    }

    .wedding-auth-modal__alert {
      margin-bottom: 16px;
      border-radius: 14px;
      padding: 12px 16px;
      font-size: 14px;
      line-height: 1.45;
    }

    .wedding-auth-modal__alert--error {
      background: #fff4f1;
      color: #ab4635;
    }

    .wedding-auth-modal__alert--success {
      background: #eef8ee;
      color: #3d7a41;
    }

    @media (max-width: 1199px) {
      .wedding-request-layout {
        grid-template-columns: 1fr;
        gap: 28px;
      }

      .wedding-request-aside {
        max-width: 328px;
        margin: 0 auto;
        padding-top: 0;
      }

      .wedding-request-form {
        max-width: 760px;
        margin: 0 auto;
      }

      .wedding-request-form__address-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 767px) {
      .wedding-request-page {
        padding-bottom: 46px;
      }

      .wedding-request-page__title {
        margin-bottom: 24px;
        font-size: 28px;
      }

      .wedding-request-form__section-title {
        font-size: 24px;
      }

      .wedding-request-form__address-grid {
        grid-template-columns: 1fr;
      }

      .wedding-request-form__toggle,
      .wedding-request-form__toggle--wide,
      .wedding-request-form__toggle--day {
        min-width: 0;
        flex: 1 1 calc(50% - 5px);
      }

      .wedding-auth-modal {
        padding: 16px;
        align-items: center;
      }

      .wedding-auth-modal.is-open {
        align-items: center;
      }

      .wedding-auth-modal__dialog,
      .wedding-auth-modal__dialog--register,
      .wedding-auth-modal__dialog--recovery {
        width: 100%;
        max-height: calc(100vh - 32px);
        margin: 0 auto;
        padding: 26px 18px 24px;
        border-radius: 20px;
      }

      .wedding-auth-modal__dialog:not(.wedding-auth-modal__dialog--register),
      .wedding-auth-modal__dialog--recovery {
        margin-top: auto;
        margin-bottom: auto;
      }

      .wedding-auth-modal__dialog--register {
        margin-top: 0;
        margin-bottom: 0;
      }

      .wedding-auth-modal__close {
        top: 14px;
        right: 14px;
        width: 36px;
        height: 36px;
        font-size: 24px;
        line-height: 36px;
      }

      .wedding-auth-modal__title {
        margin-top: 10px;
        margin-bottom: 22px;
        font-size: 26px;
      }

      .wedding-auth-modal__grid--two {
        grid-template-columns: 1fr;
      }

      .wedding-auth-modal__input,
      .wedding-auth-modal__password-field {
        height: 50px;
        border-radius: 16px;
        font-size: 16px;
      }

      .wedding-auth-modal__footer {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 22px;
      }

      .wedding-auth-modal__submit {
        width: 100%;
        min-width: 0;
        height: 52px;
        font-size: 17px;
      }

      .wedding-auth-modal__links {
        text-align: center;
      }
    }
  

/* accounts-wedding-subscriptions */
  #wedding-subscriptions h1 {
    margin-bottom: 34px;
  }

  #wedding-subscriptions .wedding-subscriptions-content {
    max-width: 845px;
    width: 100%;
  }

  #wedding-subscriptions .wedding-subscriptions-empty {
    width: 100%;
    max-width: 730px;
  }

  #wedding-subscriptions .wedding-subscriptions-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  #wedding-subscriptions .wedding-subscription-card {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) 210px;
    grid-template-areas:
            "photo main qr"
            "actions actions actions";
    column-gap: 24px;
    row-gap: 16px;
    align-items: start;
    padding: 24px;
    background: #fff;
    border-radius: 32px;
    box-shadow: 0 5px 12px rgba(71, 45, 33, 0.18);
  }

  #wedding-subscriptions .wedding-subscription-card__image,
  #wedding-subscriptions .wedding-subscription-detail__image {
    overflow: hidden;
    background: #f3ece7;
    flex-shrink: 0;
  }

  #wedding-subscriptions .wedding-subscription-card__image {
    grid-area: photo;
    width: 78px;
    height: 96px;
    border-radius: 8px;
  }

  #wedding-subscriptions .wedding-subscription-card__image img,
  #wedding-subscriptions .wedding-subscription-detail__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  #wedding-subscriptions .wedding-subscription-card__main {
    grid-area: main;
    min-width: 0;
    padding-top: 12px;
    text-align: left;
  }

  #wedding-subscriptions .wedding-subscription-card__title {
    color: #433934;
    font-size: 16px;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 12px;
    font-weight: 400;
    word-break: break-word;
  }

  #wedding-subscriptions .wedding-subscription-card__meta {
    display: grid;
    grid-template-columns: 235px minmax(0, 1fr);
    row-gap: 8px;
    column-gap: 18px;
    font-size: 16px;
    line-height: 1.35;
    margin-bottom: 0;
    align-items: center;
  }

  #wedding-subscriptions .wedding-subscription-card__meta-label,
  #wedding-subscriptions .wedding-subscription-detail__label {
    color: #5f5550;
  }

  #wedding-subscriptions .wedding-subscription-card__meta-value,
  #wedding-subscriptions .wedding-subscription-detail__value {
    color: #5f5550;
  }

  #wedding-subscriptions .wedding-subscription-card__meta-value {
    color: #2f2926;
    font-weight: 600;
  }

  #wedding-subscriptions .wedding-subscription-card__qr {
    grid-area: qr;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    padding-top: 10px;
  }

  #wedding-subscriptions .wedding-subscription-card__qr img {
    width: 92px;
    height: 92px;
    object-fit: contain;
    display: block;
  }

  #wedding-subscriptions .wedding-subscription-card__actions {
    grid-area: actions;
    display: grid;
    grid-template-columns: minmax(250px, 1fr) minmax(250px, 1fr) minmax(210px, 1fr);
    gap: 20px;
    align-items: stretch;
  }

  #wedding-subscriptions .wedding-subscription-btn {
    min-height: 46px;
    padding: 9px 22px;
    border-radius: 14px;
    border: 1px solid #bc4a34;
    background: #fff;
    color: #bc4a34;
    font-size: 15px;
    line-height: 1.15;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    text-decoration: none;
    transition: .2s ease;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
  }

  #wedding-subscriptions .wedding-subscription-btn:hover {
    text-decoration: none;
    color: #bc4a34;
    opacity: .92;
  }

  #wedding-subscriptions .wedding-subscription-btn--filled {
    background: #bc4a34;
    color: #fff;
  }

  #wedding-subscriptions .wedding-subscription-btn--filled:hover {
    color: #fff;
  }

  #wedding-subscriptions .wedding-subscription-btn[disabled],
  #wedding-subscriptions .wedding-subscription-btn.is-disabled {
    opacity: .55;
    pointer-events: none;
  }

  #wedding-subscriptions .wedding-subscription-card__meta-value,
  #wedding-subscriptions .wedding-subscription-card__meta-label {
    white-space: nowrap;
  }

  #wedding-subscriptions .wedding-subscription-detail {
    max-width: 760px;
    width: 100%;
  }

  #wedding-subscriptions .wedding-subscription-detail__head {
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr);
    gap: 22px;
    align-items: start;
    margin-bottom: 26px;
  }

  #wedding-subscriptions .wedding-subscription-detail__image {
    width: 140px;
    height: 170px;
    border-radius: 22px;
  }

  #wedding-subscriptions .wedding-subscription-detail__title {
    color: #433934;
    font-size: 24px;
    line-height: 1.15;
    margin-bottom: 16px;
  }

  #wedding-subscriptions .wedding-subscription-detail__summary {
    display: grid;
    row-gap: 12px;
    margin-bottom: 10px;
  }

  #wedding-subscriptions .wedding-subscription-detail__summary-item {
    display: grid;
    row-gap: 4px;
  }

  #wedding-subscriptions .wedding-subscription-detail__summary-item .wedding-subscription-detail__value {
    font-size: 16px;
  }

  #wedding-subscriptions .wedding-subscription-detail__share-caption {
    margin: 2px 0 18px;
    color: #9d9793;
    font-size: 13px;
    line-height: 1.45;
    text-align: center;
  }

  #wedding-subscriptions .wedding-subscription-detail__share-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 34px;
  }

  #wedding-subscriptions .wedding-subscription-detail__info {
    display: grid;
    row-gap: 32px;
  }

  #wedding-subscriptions .wedding-subscription-detail__info-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
  }

  #wedding-subscriptions .wedding-subscription-detail__back {
    margin-bottom: 18px;
  }

  #wedding-subscriptions .wedding-subscription-inline-note {
    margin-top: 40px;
    font-size: 24px;
    color: #AB4031;
  }

  #wedding-subscriptions .wedding-subscription-detail__summary-item .wedding-subscription-detail__label {
    margin-bottom: 2px;
  }

  @media (max-width: 1190px) {
    #wedding-subscriptions .wedding-subscription-card__actions,
    #wedding-subscriptions .wedding-subscription-card__meta,
    #wedding-subscriptions .wedding-subscription-detail__info-grid,
    #wedding-subscriptions .wedding-subscription-detail__share-actions {
      grid-template-columns: 1fr;
    }

    #wedding-subscriptions .wedding-subscription-card__actions {
      gap: 12px;
    }
  }

  @media (max-width: 991px) {
    #wedding-subscriptions .wedding-subscription-card {
      grid-template-columns: 80px minmax(0, 1fr);
      /*grid-template-areas:*/
      /*          "photo main"*/
      /*          "qr qr"*/
      /*          "actions actions";*/
      border-radius: 24px;
      column-gap: 16px;
    }

    #wedding-subscriptions .wedding-subscription-card__qr {
      justify-content: flex-start;
      padding-top: 0;
    }

    #wedding-subscriptions .wedding-subscription-card__meta-value,
    #wedding-subscriptions .wedding-subscription-card__meta-label {
      white-space: normal;
    }

    #wedding-subscriptions .wedding-subscription-detail__head {
      grid-template-columns: 1fr;
    }
  }

  @media (max-width: 575px) {
    #wedding-subscriptions .wedding-subscription-card {
      grid-template-columns: 80px minmax(0, 1fr);
      grid-template-areas:
                "photo main"
                "actions actions"
                "qr qr";
      padding: 20px;
    }

    #wedding-subscriptions .wedding-subscription-card__qr {
      display: flex;
      justify-content: center;
      padding-top: 4px;
    }

    #wedding-subscriptions .wedding-subscription-card__qr img {
      width: 202px;
      height: 202px;
    }

    #wedding-subscriptions .wedding-subscription-card__image {
      width: 90px;
      height: 110px;
    }

    #wedding-subscriptions .wedding-subscription-card__title {
      font-size: 15px;
    }

    #wedding-subscriptions .wedding-subscription-card__meta {
      font-size: 15px;
    }
  }
  /* DETAIL PAGE */
  #wedding-subscriptions.wedding-subscriptions-tab--detail h1 {
    display: none;
  }

  #wedding-subscriptions.wedding-subscriptions-tab--detail .empty-cart {
    text-align: left;
  }

  #wedding-subscriptions .wedding-subscription-detail {
    max-width: 650px;
    width: 100%;
    margin: 0 auto;
  }

  #wedding-subscriptions .wedding-subscription-detail__back {
    display: none;
  }

  #wedding-subscriptions .wedding-subscription-detail__head {
    display: grid;
    grid-template-columns: 223px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    margin-bottom: 32px;
  }

  #wedding-subscriptions .wedding-subscription-detail__image {
    width: 223px;
    height: 278px;
    border-radius: 32px;
    overflow: hidden;
    background: #f3ece7;
  }

  #wedding-subscriptions .wedding-subscription-detail__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  #wedding-subscriptions .wedding-subscription-detail__title {
    color: #433934;
    font-size: 32px;
    line-height: 40px;
    margin: 0 0 16px;
    font-weight: 400;
  }

  #wedding-subscriptions .wedding-subscription-detail__summary {
    display: grid;
    row-gap: 12px;
    margin-bottom: 0;
  }

  #wedding-subscriptions .wedding-subscription-detail__summary-item {
    display: grid;
    row-gap: 6px;
  }

  #wedding-subscriptions .wedding-subscription-detail__label {
    color: #999999;
    font-size: 16px;
  }

  #wedding-subscriptions .wedding-subscription-detail__value {
    color: #362C2B;
    font-size: 16px;
    line-height: 24px;
  }

  #wedding-subscriptions .wedding-subscription-detail__summary-item .wedding-subscription-detail__value {
    font-size: 16px;
  }

  #wedding-subscriptions .wedding-subscription-detail__share-caption {
    margin: 16px 0;
    color: #362C2B;
    font-size: 14px;
    line-height: 20px;
    text-align: center;
  }

  #wedding-subscriptions .wedding-subscription-detail__share-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 32px;
  }

  #wedding-subscriptions .wedding-subscription-detail__share-actions .wedding-subscription-btn {
    min-height: 45px;
    border-radius: 9px;
    font-size: 15px;
  }

  #wedding-subscriptions .wedding-subscription-detail__info {
    display: grid;
    row-gap: 20px;
  }

  #wedding-subscriptions .wedding-subscription-detail__info > .wedding-subscription-detail__summary-item {
    max-width: 100%;
  }

  #wedding-subscriptions .wedding-subscription-detail__info-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
  }

  #wedding-subscriptions .wedding-subscription-detail__info .wedding-subscription-detail__label {
    margin-bottom: 2px;
    line-height: 20px;
  }

  #wedding-subscriptions .wedding-subscription-detail__info .wedding-subscription-detail__value {
    font-size: 16px;
  }

  @media (max-width: 991px) {
    #wedding-subscriptions .wedding-subscription-detail {
      max-width: 100%;
    }

    #wedding-subscriptions .wedding-subscription-detail__head {
      grid-template-columns: 130px minmax(0, 1fr);
      gap: 18px;
    }

    #wedding-subscriptions .wedding-subscription-detail__image {
      width: 130px;
      height: 165px;
    }
  }

  @media (max-width: 575px) {
    #wedding-subscriptions .wedding-subscription-detail__head {
      grid-template-columns: 1fr;
    }

    #wedding-subscriptions .wedding-subscription-detail__image {
      width: 145px;
      height: 180px;
    }

    #wedding-subscriptions .wedding-subscription-detail__share-actions,
    #wedding-subscriptions .wedding-subscription-detail__info-grid {
      grid-template-columns: 1fr;
    }
  }
