/* Shared Figma typography and blocks for the homepage and tariff pages. */
.figma-page {
    --tariff-space: 160px;
    --tariff-card-shadow: 0 18px 40px rgb(61 61 61 / 6%);
    color: var(--vshf-color-text);
    display: block;
}
.figma-page > section { margin: 0; padding: 0; }
.figma-page .wrap { width: 100%; max-width: 1320px; padding-inline: 20px; }
.figma-page .section-title { max-width: none; }
.figma-page .title-bage { font-size: 11.5px; line-height: 11.52px; padding: 8px 10px; margin-bottom: 32px; }
.figma-page .section-title h1 { font: 700 107.2px/102.91px Oswald, sans-serif; letter-spacing: -2.68px; text-transform: uppercase; margin: 0; }
.figma-page .section-title h2,
.tariff-archive h1 { font: 700 100.8px/96.77px Oswald, sans-serif; letter-spacing: -2.52px; text-transform: uppercase; margin: 0; }
.figma-page .mainscreen { padding-top: 120px; }
.figma-page .mainscreen .wrap { display: grid; grid-template-columns: minmax(0, 668fr) minmax(0, 524fr); gap: 88px; align-items: stretch; }
.figma-page .mainscreen .wrap .content { max-width: none; }
.figma-page .mainscreen .wrap .content .text { margin-top: 32px; font-size: 20px; line-height: 1.4; }
.figma-page .mainscreen .wrap .mainscreen__media { border-left: 1px solid var(--vshf-color-border); width: 100%; min-height: 645px; height: auto; overflow: hidden; }
.figma-page .mainscreen .wrap .mainscreen__media img { object-fit: cover; object-position: center; }
.figma-page .mainscreen .wrap .mainscreen__overlay { z-index: 1; }
.tariff-included { padding-block: var(--tariff-space, 160px); }
.figma-page .tariff-included { padding-block: var(--tariff-space); }
.tariff-included__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 64px; }
.tariff-included__item { min-height: 320px; padding: 20px; border: 1px solid var(--vshf-color-border-light); background: var(--vshf-color-white-56); box-shadow: var(--tariff-card-shadow, 0 18px 40px rgb(61 61 61 / 6%)); display: flex; flex-direction: column; justify-content: space-between; gap: 32px; }
.tariff-included__item--wide { grid-column: span 2; }
.tariff-included__item h3,
.tariff-card h3 { font: 700 32px/31px Oswald, sans-serif; letter-spacing: -.8px; text-transform: uppercase; margin: 0; overflow-wrap: anywhere; }
.tariff-included__text { font: 400 17px/1.4 'PT Sans', sans-serif; margin-top: 16px; }
.tariff-included__item:has(.tariff-icon--team) h3 { max-width: 235px; }
.tariff-included__item:has(.tariff-icon--shirt) h3 { max-width: 240px; }
.tariff-included__item:has(.tariff-icon--print) h3 { max-width: 228px; }
.tariff-icon { position: relative; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; flex: 0 0 48px; }
.tariff-icon img { display: block; max-width: none; flex: none; }
.tariff-icon--team img { transform: translateY(1.2px) scaleY(-1); }
.tariff-icon--order img { transform: scaleY(-1); }
.tariff-icon--print img { transform: translateY(.19px) scaleY(-1); }
.tariff-icon--space img { transform: translateX(-.18px) scaleY(-1); }
.tariff-icon--wifi img { transform: translateY(.11px) scaleY(-1); }
.tariff-icon--table img { transform: translateY(.83px); }
.tariff-icon--access img { transform: translateY(.19px); }
.tariff-icon--light img { transform: translateY(.19px); }
.figma-page .block_line .wrap { display: grid; grid-template-columns: minmax(0, 792fr) minmax(0, 488fr); gap: 0; align-items: stretch; }
.figma-page .block_line__media { min-height: 540px; }
.figma-page .block_line__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.figma-page .block_line .content { max-width: none; padding: 40px; gap: 32px; justify-content: center; }
.figma-page .block_line .content .h3 { font-size: 70.4px; line-height: 68.99px; letter-spacing: -1.76px; margin: 0; }
.figma-page .block_line .content .text { font-size: 17px; line-height: 1.4; }
.figma-page .block_line .content .chips .chip { font-size: 11.5px; background: var(--vshf-color-white); }
.figma-page .block_line .content .chips .chip::before { content: ''; display: block; width: 16px; height: 16px; background: url('../tariffs/7367b.svg') center no-repeat; flex: 0 0 16px; }
.figma-page .why { padding-top: var(--tariff-space); }
.figma-page .why .wrap { display: grid; grid-template-columns: minmax(0, 705fr) minmax(0, 524fr); gap: 51px; }
.figma-page .why .wrap > img { display: block; width: 100%; height: 100%; min-height: 599px; object-fit: cover; border-left: 1px solid var(--vshf-color-border); }
.figma-page .why .why-options { max-width: 651.42px; }
.figma-page .why .wrap .why_content .why-options .icon img { width: auto; height: auto; max-width: none; }
.figma-page .why .wrap .why_content .why-options .why-options-items { font-size: 17px; line-height: 1.4; }
.tariff-requirements { padding-top: var(--tariff-space, 160px); }
.figma-page .tariff-requirements { padding-top: var(--tariff-space); }
.tariff-requirements .wrap { display: grid; grid-template-columns: minmax(0, 530fr) minmax(0, 686fr); gap: 64px; }
.tariff-requirements__list { margin: 57px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--vshf-color-border); }
.tariff-requirements__list li { display: grid; grid-template-columns: 39px minmax(0, 577px); align-items: center; justify-content: space-between; gap: 24px; padding: 20px 0; border-bottom: 1px solid var(--vshf-color-border); font: 700 32px/1 Oswald, sans-serif; text-transform: uppercase; }
.tariff-requirements__list li:has(.tariff-icon--power) > div { max-width: 473px; }
.tariff-requirements__list .tariff-icon { width: 18px; height: 18px; margin-top: 0; }
.tariff-requirements__list li > div > span { font-weight: 300; }
.figma-page .product_gallery { padding-block: var(--tariff-space); }
.figma-page .product_gallery__title { margin-bottom: 64px; }
.figma-page .product_gallery__carousel { position: relative; width: 100%; margin-inline: 0; }
.figma-page .product_gallery__btn { background: var(--vshf-color-white-56); }
.figma-page .product_gallery__btn::after { width: 18px; height: 18px; border: 0; background: url('../tariffs/040f8.svg') center no-repeat; margin: 0; }
.figma-page .product_gallery__btn--prev::after { transform: rotate(180deg); }
.figma-page .product_gallery__btn--next::after { transform: none; }
.tariff-related { padding-bottom: var(--tariff-space, 160px); }
.figma-page .tariff-related { padding-bottom: var(--tariff-space); }
.tariff-related .section-title { margin-bottom: 64px; }
.tariff-related__carousel { position: relative; min-width: 0; }
.tariff-related__swiper { min-width: 0; overflow: hidden; padding-bottom: 28px; margin-bottom: -28px; }
.tariff-card { border: 1px solid var(--vshf-color-border-light); background: var(--vshf-color-white-56); box-shadow: var(--tariff-card-shadow, 0 18px 40px rgb(61 61 61 / 6%)); height: auto; }
.tariff-card > a { display: flex; flex-direction: column; height: 100%; min-height: 320px; color: inherit; text-decoration: none; transition: background-color .18s ease; }
.tariff-card > a:hover { background: var(--vshf-color-white); }
.tariff-card__image { min-height: 158px; position: relative; flex: 1; }
.tariff-card__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tariff-card__body { padding: 20px; }
.tariff-card__body p { font: 400 17px/1.4 'PT Sans', sans-serif; margin: 16px 0 0; }
.tariff-carousel-btn { position: absolute; top: calc(50% - 26px); width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--vshf-color-border); background: var(--vshf-color-white-56); cursor: pointer; }
.tariff-carousel-btn img { width: auto; height: auto; }
.tariff-carousel-btn--prev { left: -76px; }
.tariff-carousel-btn--prev img { transform: rotate(180deg); }
.tariff-carousel-btn--next { right: -76px; }
.tariff-carousel-btn:disabled, .tariff-carousel-btn.swiper-button-disabled { opacity: .4; cursor: default; }
.tariff-carousel-btn.swiper-button-lock { display: flex; }
.figma-page .feeadback .feeadback_wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; padding: 40px; align-items: stretch; }
.figma-page .feeadback .feeadback_wrap .content .section-title .title-text { margin-top: 32px; padding: 0; max-width: 507px; font-size: 17px; line-height: 1.4; }
.figma-page .feeadback .feeadback_wrap .title-bage { background: var(--vshf-color-bg); }
.figma-page .feeadback .feedbeck_contcat { margin-top: 0; gap: 20px; }
.figma-page .feeadback .feedbeck_contcat a { font-size: 17px; line-height: 24px; }
.figma-page .feeadback .feedbeck_contcat a::before { width: 18px; height: 18px; background: url('../tariffs/5f574.svg') center no-repeat; content: ''; }
.figma-page .feeadback .feedbeck_contcat .email::before { background-image: url('../tariffs/2d77f.svg'); }
.figma-page .feeadback .feedbeck_contcat .tg::before { background-image: url('../tariffs/edc9e.svg'); }
.figma-page .feeadback .feedbeck_contcat .max { display: none; }
.figma-page .feeadback .feeadback_wrap .form { display: flex; border: 1px solid var(--vshf-color-border); padding: 39px; }
.tariff-inquiry { display: flex; flex-direction: column; gap: 32px; width: 100%; min-height: 785px; flex: 1; }
.tariff-inquiry__field { display: flex; flex-direction: column; gap: 12px; }
.tariff-inquiry label { font: 400 17px/24px 'PT Sans', sans-serif; }
.tariff-inquiry input, .tariff-inquiry textarea { width: 100%; background: var(--vshf-color-white); border: 1px solid var(--vshf-color-border); border-radius: 0; padding: 13px 20px; font: 400 17px/24px 'PT Sans', sans-serif; color: var(--vshf-color-text); caret-color: var(--vshf-color-accent); box-sizing: border-box; }
.tariff-inquiry input { height: 52px; }
.tariff-inquiry input::placeholder, .tariff-inquiry textarea::placeholder { color: var(--vshf-color-text); opacity: 1; }
.tariff-inquiry__field--message { flex: 1; }
.tariff-inquiry textarea { min-height: 240px; flex: 1; resize: vertical; }
.tariff-inquiry__submit { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 52px; padding: 13px 20px; border: 1px solid var(--vshf-color-accent); background: var(--vshf-color-accent); color: var(--vshf-color-on-accent); font: 700 17px/24px 'PT Sans', sans-serif; text-align: left; cursor: pointer; }
.tariff-inquiry__submit:hover { filter: brightness(.94); }
.tariff-inquiry__submit img { width: auto; height: auto; }
.tariff-inquiry__note { font: 400 15px/1.4 'PT Sans', sans-serif; color: var(--vshf-color-text); margin: 0; }
.tariff-inquiry__status { font: 400 15px/1.4 'PT Sans', sans-serif; margin: 0; }
.figma-page :is(a, button, input, textarea):focus-visible { outline: 2px solid var(--vshf-color-accent); outline-offset: 4px; }
.figma-page ::selection { color: var(--vshf-color-on-accent); background: var(--vshf-color-accent); }
.tariff-archive { padding-top: 100px; }
.tariff-archive > .wrap { margin-bottom: 64px; }
.tariff-archive .tariff-carousel-btn.swiper-button-lock { display: none; }
@media (min-width: 1141px) {
    .figma-page .product_gallery__carousel { display: block; }
    .figma-page .product_gallery__btn { position: absolute; top: calc(50% - 26px); }
    .figma-page .product_gallery__btn--prev { left: -76px; }
    .figma-page .product_gallery__btn--next { right: -76px; }
}
@media (max-width: 1479px) {
    .tariff-related__carousel { padding-bottom: 72px; }
    .tariff-carousel-btn { top: auto; bottom: 0; }
    .tariff-carousel-btn--prev { left: 0; }
    .tariff-carousel-btn--next { right: 0; }
    .figma-page .product_gallery__carousel { padding-bottom: 72px; }
    .figma-page .product_gallery__btn { top: auto; bottom: 0; }
    .figma-page .product_gallery__btn--prev { left: 0; }
    .figma-page .product_gallery__btn--next { right: 0; }
}
@media (max-width: 1140px) {
    .figma-page { --tariff-space: 88px; }
    .figma-page .section-title h1 { font-size: 80px; line-height: .98; }
    .figma-page .section-title h2, .tariff-archive h1 { font-size: 68px; line-height: .98; letter-spacing: -1.7px; }
    .figma-page .mainscreen { padding-top: 64px; }
    .figma-page .mainscreen .wrap { gap: 32px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
    .figma-page .mainscreen .wrap .mainscreen__media { min-height: 500px; }
    .figma-page .mainscreen .wrap .content .text { font-size: 18px; }
    .tariff-included__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 40px; }
    .tariff-included__item { min-height: 290px; }
    .tariff-included__item--wide { grid-column: auto; }
    .figma-page .block_line .wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .figma-page .block_line__media { min-height: 440px; aspect-ratio: auto; }
    .figma-page .block_line .content { padding: 28px; gap: 24px; }
    .figma-page .block_line .content .h3 { font-size: 52px; line-height: 1; }
    .figma-page .why .wrap { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 32px; }
    .figma-page .why .wrap > img { min-height: 500px; }
    .figma-page .why .wrap .why_content .why-options { display: flex; margin-top: 32px; }
    .tariff-requirements .wrap { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px; }
    .tariff-requirements__list { margin-top: 57px; }
    .tariff-requirements__list li { font-size: 26px; gap: 16px; grid-template-columns: 24px minmax(0, 1fr); }
    .figma-page .product_gallery__title, .tariff-related .section-title { margin-bottom: 40px; }
    .figma-page .feeadback .feeadback_wrap { padding: 28px; gap: 24px; }
    .figma-page .feeadback .feeadback_wrap .form { padding: 24px; }
    .tariff-inquiry { min-height: 690px; }
}
@media (max-width: 767px) {
    .figma-page { --tariff-space: 64px; }
    .figma-page .title-bage { font-size: 10px; margin-bottom: 24px; }
    .figma-page .section-title h1 { font-size: clamp(56px, 13vw, 80px); line-height: 1; letter-spacing: -1.4px; }
    .figma-page .section-title h2, .tariff-archive h1 { font-size: clamp(42px, 10.8vw, 64px); line-height: 1; letter-spacing: -1px; }
    .figma-page .mainscreen { padding-top: 40px; }
    .figma-page .mainscreen .wrap { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .figma-page .mainscreen .wrap .content .text { margin-top: 24px; font-size: 17px; line-height: 1.4; }
    .figma-page .mainscreen .wrap .mainscreen__media { min-height: 0; height: auto; aspect-ratio: 523/645; max-height: 600px; }
    .tariff-included__grid { grid-template-columns: minmax(0, 1fr); margin-top: 32px; }
    .tariff-included__item { min-height: 260px; }
    .tariff-included__item h3, .tariff-card h3 { font-size: 30px; line-height: 1.05; }
    .figma-page .block_line .wrap, .figma-page .why .wrap, .tariff-requirements .wrap, .figma-page .feeadback .feeadback_wrap { grid-template-columns: minmax(0, 1fr); }
    .figma-page .block_line__media { min-height: 0; aspect-ratio: 792/540; }
    .figma-page .block_line .content { padding: 28px 24px; }
    .figma-page .block_line .content .h3 { font-size: 52px; line-height: 1; }
    .figma-page .why .wrap > img { min-height: 0; max-height: 600px; aspect-ratio: 524/599; }
    .figma-page .why .wrap .why_content .why-options .why-options-items { font-size: 17px; }
    .tariff-requirements__list { margin-top: 0; }
    .tariff-requirements__list li { font-size: 25px; line-height: 1.15; }
    .figma-page .product_gallery__title, .tariff-related .section-title { margin-bottom: 32px; }
    .figma-page .feeadback .feeadback_wrap { padding: 24px 16px; gap: 32px; }
    .figma-page .feeadback .feeadback_wrap .form { padding: 20px 16px; }
    .tariff-inquiry { min-height: 640px; gap: 24px; }
    .tariff-inquiry textarea { min-height: 200px; }
    .tariff-inquiry input, .tariff-inquiry textarea { padding-inline: 14px; font-size: 16px; }
    .tariff-archive { padding-top: 48px; }
}
@media (prefers-reduced-motion: reduce) {
    .figma-page *, .figma-page *::before, .figma-page *::after { scroll-behavior: auto; transition-duration: .01ms; animation-duration: .01ms; }
}
