@charset "UTF-8";
/*!
Theme Name: Puff Plus Size
Theme URI: http://underscores.me/
Author: Nikita Krasavin
Author URI: http://@HKrasavin
Description: Custom WordPress theme for Puff Plus Size bridal catalog
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: puff-plus-size
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/
/* Абстракции */
@font-face {
  font-family: "Bebas Neue";
  src: url(../fonts/BebasNeue-Thin.woff2) format("woff2");
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Bebas Neue";
  src: url(../fonts/BebasNeue-Light.woff2) format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Bebas Neue";
  src: url(../fonts/BebasNeue-Book.woff2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Bebas Neue";
  src: url(../fonts/BebasNeue-Regular.woff2) format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Bebas Neue";
  src: url(../fonts/BebasNeue-Bold.woff2) format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* База */
/* Typography
--------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #A7A7A7;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

body,
button,
input,
select,
optgroup,
textarea {
  color: #000000;
  font-family: "Bebas Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
  margin-bottom: 0;
}

body.page-cart {
  margin-top: clamp(28.125rem, 13.0208333333vw + 19.7916666667rem, 40.625rem);
}

html {
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body.woocommerce {
  position: relative;
  z-index: 9999;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

.text-highlight {
  color: #830000;
}

.section {
  position: relative;
  width: 100%;
  text-align: center;
  margin-top: clamp(5.625rem, 2.6041666667vw + 3.9583333333rem, 8.125rem);
}
.section__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: clamp(0.5625rem, 0.2604166667vw + 0.3958333333rem, 0.8125rem) clamp(2.25rem, 1.0416666667vw + 1.5833333333rem, 3.25rem) 0;
  margin-bottom: clamp(2.8125rem, 1.3020833333vw + 1.9791666667rem, 4.0625rem);
  line-height: 1;
}
.section__title {
  display: flex;
}
.section__title h2 {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 700;
  font-size: clamp(4.2rem, 6.25vw + 0.2rem, 10.2rem);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0;
}
.section__subtitle {
  width: 45vw;
}
.section__subtitle p {
  margin: 0;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.05rem, 1.5625vw + 0.05rem, 2.55rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #656565;
  text-align: left;
}
.section__number {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(2.1rem, 3.125vw + 0.1rem, 5.1rem);
  text-transform: uppercase;
  letter-spacing: 0em;
  opacity: 26%;
}
.section__content {
  display: block;
  gap: 100px;
}
.section__button {
  flex: 1;
  display: flex;
  align-items: center;
  padding-left: clamp(1.575rem, 0.7291666667vw + 1.1083333333rem, 2.275rem);
}
.section__button .section__btn {
  display: inline-flex;
  align-items: center;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 700;
  font-size: clamp(1.4rem, 2.0833333333vw + 0.0666666667rem, 3.4rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #830000;
  border-radius: clamp(3.234375rem, 1.4973958333vw + 2.2760416667rem, 4.671875rem);
  padding-left: 1em;
  background: linear-gradient(to left, #830000 100%, transparent 100%) right/0% 100% no-repeat;
  transition: transform 0.55s cubic-bezier(0.77, 0, 0.18, 1), background-size 0.45s cubic-bezier(0, -0.38, 0.61, 0.7), color 0.35s ease;
}
.section__button .section__btn:hover {
  background-size: 100% 100%;
  color: #ffffff;
}
.section__button .section__btn:active {
  background: linear-gradient(to left, #000000 100%, transparent 100%) right/0% 100% no-repeat;
  background-size: 100% 100%;
  color: #ffffff;
}
.section__button .section__btn:active .section__button-arrow {
  background-color: #000000;
}
.section__button .section__button-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5em;
  height: 1.5em;
  background-color: #830000;
  border-radius: 50%;
  padding: 0;
  margin-left: 0.5em;
  transition: background-color 0.75s cubic-bezier(0.77, 0, 0.18, 1);
}
.section__button .section__button-arrow svg {
  width: 1em;
  height: auto;
  color: #ffffff;
}
.section__button .arrow-line {
  stroke-dasharray: 36;
  stroke-dashoffset: 36;
  transition: stroke-dashoffset 0.3s ease;
}
.section__button .section__btn:hover .arrow-line {
  stroke-dashoffset: 0;
}

/* Links
--------------------------------------------- */
a {
  color: inherit;
}
a:visited {
  color: inherit;
}
a:hover, a:focus, a:active {
  color: inherit;
}
a:focus {
  outline: none;
}
a:hover, a:active {
  outline: 0;
}

a:-webkit-any-link {
  text-decoration: none;
}

/* Forms
--------------------------------------------- */
/*
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	//border: 1px solid;
	border-color: c.$color__border-button;
	//border-radius: 3px;
	background: c.$color__background-button;
	//color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;

	&:hover {
		border-color: c.$color__border-button-hover;
	}

	&:active,
	&:focus {
		border-color: c.$color__border-button-focus;
	}
}
*/
input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #000000;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: #830000;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/* Elements
--------------------------------------------- */
/* Forms
--------------------------------------------- */
/* Typography
--------------------------------------------- */
/* Компоненты */
/* Navigation
--------------------------------------------- */
.main-navigation {
  display: block;
  width: 100%;
}
.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}
.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
  display: block;
  left: auto;
}
.main-navigation ul ul a {
  width: 200px;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
  left: auto;
}
.main-navigation li {
  position: relative;
}
.main-navigation a {
  display: block;
  text-decoration: none;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
  .main-navigation ul {
    display: flex;
  }
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.post,
.page {
  margin: 0;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}
.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}
.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/* Navigation
--------------------------------------------- */
.header {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: all 0.3s ease;
}
@media screen and (min-width: 782px) {
  .header {
    top: 32px;
  }
}
@media screen and (max-width: 781px) {
  .header {
    top: 46px;
  }
}
.header__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1rem, 1.3020833333vw + 0.1666666667rem, 2.25rem);
  padding: clamp(2.5rem, 3.2552083333vw + 0.4166666667rem, 5.625rem) clamp(3.9rem, 5.078125vw + 0.65rem, 8.775rem);
}
.header__logo {
  transition: transform 0.35s ease;
}
.header__logo:hover {
  transform: scale(1.03);
}
.header__logo img {
  width: clamp(6.7375rem, 9.5703125vw + 0.6125rem, 15.925rem);
  height: auto;
}
.header__nav li.current_page_item > a {
  color: #830000;
  font-weight: 500;
}
.header__nav ul {
  display: flex;
  flex-direction: column;
  gap: 0;
  line-height: 1.4;
  list-style: none;
  margin: 0;
  padding: 0;
}
.header__nav ul li {
  display: inline-block;
}
.header__nav ul li a {
  display: inline-block;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(0.875rem, 1.3020833333vw + 0.0416666667rem, 2.125rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  transition: transform 0.45s ease;
}
.header__nav ul li a:hover {
  transform: scale(1.05);
}
.header__nav .menu {
  display: flex;
}
.header__burger {
  display: none;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
}
.header__burger span {
  display: block;
  width: 25px;
  height: 3px;
  background: black;
}
.header.is-hidden {
  top: -100px;
}
.header {
  /*
    &.is-scrolled {
      position: fixed;
      background: #fff;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);

      & .header__nav {
        display: flex; // показываем меню при скролле, если нужно
      }
    }
  */
}
.header.menu-open .header__nav {
  display: block;
}

body.page-catalog .header {
  justify-content: flex-start;
  padding-left: clamp(14.0625rem, 24.4140625vw + -1.5625rem, 37.5rem);
}

body.page-stylist .header {
  padding-right: clamp(12.65625rem, 21.97265625vw + -1.40625rem, 33.75rem);
}

body.page-wedding-dresses .header {
  padding-right: clamp(12.65625rem, 21.97265625vw + -1.40625rem, 33.75rem);
}
body.page-wedding-dresses .header__nav ul li {
  color: #ffffff;
}
body.page-wedding-dresses .header__nav li.current_page_item > a {
  color: #000000;
}

body.page-veils .header {
  justify-content: flex-start;
  padding-left: clamp(14.53125rem, 25.2278645833vw + -1.6145833333rem, 38.75rem);
}
body.page-veils .header__nav ul li {
  color: #ffffff;
}
body.page-veils .header__nav li.current_page_item > a {
  color: #000000;
}

body.page-evening-dresses .header {
  padding-right: clamp(23.4375rem, 40.6901041667vw + -2.6041666667rem, 62.5rem);
}

body.page-articles .header {
  padding-right: clamp(14.0625rem, 24.4140625vw + -1.5625rem, 37.5rem);
}
body.page-articles .header__nav ul li {
  color: #ffffff;
}
body.page-articles .header__nav li.current_page_item > a {
  color: #000000;
}

body.page-consult .header {
  justify-content: flex-end;
}
body.page-consult .header__inner {
  text-align: right;
  padding-right: clamp(1.171875rem, 2.0345052083vw + -0.1302083333rem, 3.125rem);
}

.footer__grid {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  grid-template-areas: "brand menu menu menu" "brand extra contacts socials" "bottom-left bottom-left bottom-right bottom-right";
  column-gap: clamp(3.9375rem, 1.8229166667vw + 2.7708333333rem, 5.6875rem);
  row-gap: clamp(1.8rem, 0.8333333333vw + 1.2666666667rem, 2.6rem);
  color: #ffffff;
  background-color: #000000;
  padding: clamp(1.9125rem, 0.8854166667vw + 1.3458333333rem, 2.7625rem) clamp(2.25rem, 1.0416666667vw + 1.5833333333rem, 3.25rem);
}
.footer__menu-list, .footer__extra-list, .footer__socials-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__menu-list li, .footer__extra-list li, .footer__socials-list li {
  margin: 0;
  padding: 0;
}
.footer__brand {
  grid-area: brand;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(1.575rem, 2.34375vw + 0.075rem, 3.825rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1em;
}
.footer__logo {
  margin-bottom: clamp(0.7875rem, 0.3645833333vw + 0.5541666667rem, 1.1375rem);
  transition: transform 0.5s cubic-bezier(0.77, 0, 0.18, 1);
}
.footer__logo:hover {
  transform: scale(1.03);
}
.footer__menu {
  position: relative;
  grid-area: menu;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.05rem, 1.5625vw + 0.05rem, 2.55rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding-bottom: clamp(0.3375rem, 0.15625vw + 0.2375rem, 0.4875rem);
}
.footer__menu::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: clamp(0.028125rem, 0.0130208333vw + 0.0197916667rem, 0.040625rem);
  background: #656565;
  border-radius: 2px;
}
.footer__menu-list {
  display: inline-flex;
  justify-content: flex-end;
  gap: clamp(3.9375rem, 1.8229166667vw + 2.7708333333rem, 5.6875rem);
}
.footer__extra {
  grid-area: extra;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(0.7rem, 1.0416666667vw + 0.0333333333rem, 1.7rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.footer__extra-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.18125rem, 0.546875vw + 0.83125rem, 1.70625rem);
}
.footer__contacts {
  grid-area: contacts;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(0.7rem, 1.0416666667vw + 0.0333333333rem, 1.7rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: clamp(1.18125rem, 0.546875vw + 0.83125rem, 1.70625rem);
}
.footer__socials {
  grid-area: socials;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(0.7rem, 1.0416666667vw + 0.0333333333rem, 1.7rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.footer__socials-list {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: clamp(1.18125rem, 0.546875vw + 0.83125rem, 1.70625rem);
  text-decoration: underline;
}
.footer__bottom-left {
  grid-area: bottom-left;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(0.6125rem, 0.9114583333vw + 0.0291666667rem, 1.4875rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #a5a5a5;
  display: flex;
  gap: clamp(2.25rem, 1.0416666667vw + 1.5833333333rem, 3.25rem);
}
.footer__bottom-right {
  grid-area: bottom-right;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(0.6125rem, 0.9114583333vw + 0.0291666667rem, 1.4875rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-align: right;
  color: #a5a5a5;
}

/* Media
--------------------------------------------- */
/* Posts and pages
--------------------------------------------- */
/* Widgets
--------------------------------------------- */
.hero {
  position: relative;
  width: 100%;
  text-align: center;
}
.hero::before {
  content: "";
  display: block;
  padding-top: 55.28%;
}
.hero__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero__content {
  position: absolute;
  top: 25%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.hero__title {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(1.575rem, 2.34375vw + 0.075rem, 3.825rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-left: 32.5vw;
  margin-bottom: 22%;
}
.hero__subtitle {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(1.575rem, 2.34375vw + 0.075rem, 3.825rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-left: 25.5vw;
}
.hero__buttons {
  position: absolute;
  right: 4%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: none;
  background: none;
}
.hero__buttons:visited {
  color: inherit;
  text-decoration: none;
}
.hero__buttons:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.hero__buttons a {
  color: inherit;
  text-decoration: none;
}
.hero__buttons a:visited {
  color: inherit;
}
.hero__buttons {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(1.953125rem, 2.8483072917vw + 0.1302083333rem, 4.6875rem);
  text-transform: uppercase;
  text-align: center;
  line-height: 1;
  width: clamp(7.8125rem, 11.3932291667vw + 0.5208333333rem, 18.75rem);
  height: clamp(7.8125rem, 11.3932291667vw + 0.5208333333rem, 18.75rem);
  border-radius: 50%;
  border: clamp(0.15625rem, 0.2278645833vw + 0.0104166667rem, 0.375rem) solid #880000;
  color: #880000;
  background: transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.5s ease, background 0.35s ease, color 0.35s ease;
}
.hero__buttons:hover {
  background: #880000;
  transform: translateY(-50%) scale(1.05);
  color: #fff;
}
.hero__buttons:active {
  background: #880000;
  transform: translateY(-50%) scale(1);
}
.hero__buttons {
  top: 72%;
}

body.page-stylist .hero__content {
  top: 43%;
  align-items: flex-start;
}
body.page-stylist .hero__title {
  color: #ffffff;
  display: flex;
  margin-left: 10vw;
}
body.page-stylist .hero__buttons {
  top: 86%;
  right: 20%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: none;
  background: none;
}
body.page-stylist .hero__buttons:visited {
  color: inherit;
  text-decoration: none;
}
body.page-stylist .hero__buttons:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
body.page-stylist .hero__buttons a {
  color: inherit;
  text-decoration: none;
}
body.page-stylist .hero__buttons a:visited {
  color: inherit;
}
body.page-stylist .hero__buttons {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(1.5rem, 2.34375vw + 0rem, 3.75rem);
  text-transform: uppercase;
  text-align: center;
  line-height: 1;
  width: clamp(12.5rem, 19.53125vw + 0rem, 31.25rem);
  height: clamp(12.5rem, 19.53125vw + 0rem, 31.25rem);
  border-radius: 50%;
  border: clamp(0.25rem, 0.390625vw + 0rem, 0.625rem) solid #880000;
  color: #880000;
  background: transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.5s ease, background 0.35s ease, color 0.35s ease;
}
body.page-stylist .hero__buttons:hover {
  background: #880000;
  transform: translateY(-50%) scale(1.05);
  color: #fff;
}
body.page-stylist .hero__buttons:active {
  background: #880000;
  transform: translateY(-50%) scale(1);
}
body.page-stylist .hero__buttons {
  letter-spacing: 0.17em;
}

body.page-wedding-dresses .hero__content {
  top: 40%;
  align-items: flex-start;
}
body.page-wedding-dresses .hero__title {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(2.625rem, 3.90625vw + 0.125rem, 6.375rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #830000;
  display: flex;
  margin-left: 13vw;
  margin-bottom: 30%;
}
body.page-wedding-dresses .hero__buttons {
  right: 32.2%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: none;
  background: none;
}
body.page-wedding-dresses .hero__buttons:visited {
  color: inherit;
  text-decoration: none;
}
body.page-wedding-dresses .hero__buttons:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
body.page-wedding-dresses .hero__buttons a {
  color: inherit;
  text-decoration: none;
}
body.page-wedding-dresses .hero__buttons a:visited {
  color: inherit;
}
body.page-wedding-dresses .hero__buttons {
  font-family: "Bebas Neue", sans-serif;
  font-size: clamp(1.5625rem, 2.2786458333vw + 0.1041666667rem, 3.75rem);
  text-transform: uppercase;
  text-align: center;
  line-height: 1;
  width: clamp(7.8125rem, 11.3932291667vw + 0.5208333333rem, 18.75rem);
  height: clamp(7.8125rem, 11.3932291667vw + 0.5208333333rem, 18.75rem);
  border-radius: 50%;
  border: clamp(0.15625rem, 0.2278645833vw + 0.0104166667rem, 0.375rem) solid #fff;
  color: #fff;
  background: transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.5s ease, background 0.35s ease, color 0.35s ease;
}
body.page-wedding-dresses .hero__buttons:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.05);
  color: #880000;
}
body.page-wedding-dresses .hero__buttons:active {
  background: #fff;
  transform: translateY(-50%) scale(1);
}

body.page-veils .hero__content {
  top: 40%;
  align-items: flex-start;
}
body.page-veils .hero__title {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(2.625rem, 3.90625vw + 0.125rem, 6.375rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #ffffff;
  display: flex;
  margin-left: 16vw;
  margin-bottom: 30%;
}

body.page-evening-dresses .hero__content {
  top: 40%;
  align-items: flex-end;
}
body.page-evening-dresses .hero__title {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(2.625rem, 3.90625vw + 0.125rem, 6.375rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #ffffff;
  display: flex;
  margin-right: 12vw;
  margin-bottom: 30%;
}

body.page-articles .hero__content {
  top: 48%;
  align-items: flex-end;
}
body.page-articles .hero__title {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(2.625rem, 3.90625vw + 0.125rem, 6.375rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #ffffff;
  display: flex;
  margin-right: 14vw;
  margin-bottom: 30%;
}

body.page-consult .hero__content {
  top: 0%;
  left: 22%;
}
body.page-consult .hero::before {
  padding-top: 100%;
}
body.page-consult .hero__title {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(4.2rem, 6.25vw + 0.2rem, 10.2rem);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: flex;
  margin-right: 20vw;
  text-align: left;
  line-height: 0.8em;
  margin-bottom: 0;
}
body.page-consult .hero__subtitle {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.05rem, 1.5625vw + 0.05rem, 2.55rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #656565;
  display: flex;
  margin-right: 27vw;
  margin-left: 33%;
  text-align: left;
  line-height: 1em;
  margin-bottom: 0;
}

.about__content {
  display: flex;
  flex-direction: column;
}
.about .creator {
  display: flex;
  align-items: stretch;
}
.about .creator__image {
  position: relative;
  flex: 0 0 59%;
  padding: clamp(0.3375rem, 0.15625vw + 0.2375rem, 0.4875rem) 0;
}
.about .creator__image img {
  width: 100%;
  height: auto;
}
.about .creator__image::after {
  content: "";
  position: absolute;
  top: 30%;
  right: 0;
  width: 21%;
  height: 25%;
  background: #000000;
}
.about .creator__text {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  flex: 1;
  padding: 0 clamp(2.15rem, 2.7994791667vw + 0.3583333333rem, 4.8375rem);
  padding-bottom: clamp(0.5625rem, 0.2604166667vw + 0.3958333333rem, 0.8125rem);
}
.about .creator__text::before {
  content: "";
  position: absolute;
  top: 30%;
  left: 0;
  width: 100%;
  height: 25%;
  background: #830000;
}
.about .creator__text p {
  margin: 0;
  text-align: left;
}
.about .creator__subtitle {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 700;
  font-size: clamp(2.8rem, 4.1666666667vw + 0.1333333333rem, 6.8rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.03em;
}
.about .creator__name, .about .creator__description {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.4rem, 2.0833333333vw + 0.0666666667rem, 3.4rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.03em;
}
.about .creator {
  /*&__name{
      position: relative;
      &::before {
          content: '';
          position: absolute;
          left: -9%;
          top: 50%;
          transform: translateY(-50%);

          width: 1em;
          height: 1em;
          background: url(/wp-content/themes/puff-plus-size/assets/img/creator_arrow.svg) no-repeat center / contain;
      }
  }*/
}
.about .advantages {
  margin-top: clamp(5.625rem, 2.6041666667vw + 3.9583333333rem, 8.125rem);
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: clamp(2.41875rem, 1.1197916667vw + 1.7020833333rem, 3.49375rem);
}
.about .advantages__dresses {
  padding-left: clamp(1.6875rem, 0.78125vw + 1.1875rem, 2.4375rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  grid-column: 1;
  grid-row: 1;
}
.about .advantages__decoration {
  display: flex;
  align-items: flex-end;
}
.about .advantages__decoration .decoration__image {
  flex: 1;
}
.about .advantages__button {
  flex: 1;
  display: flex;
  align-items: center;
  padding-left: clamp(1.575rem, 0.7291666667vw + 1.1083333333rem, 2.275rem);
}
.about .advantages__button .catalog__btn {
  display: inline-flex;
  align-items: center;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 700;
  font-size: clamp(1.4rem, 2.0833333333vw + 0.0666666667rem, 3.4rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #830000;
  transition: transform 0.2s ease;
}
.about .advantages__button .catalog__btn:hover {
  transform: scale(1.03);
}
.about .advantages__button .advantages__button-arrow {
  display: inline-flex;
  width: 1.9em;
  height: 1.9em;
  background: url(/wp-content/themes/puff-plus-size/assets/img/catalog-arrow.svg) no-repeat center/contain;
  margin-left: 1em;
}
.about .advantages img {
  grid-column: 2;
  grid-row: 1;
}
.about .advantages__description {
  text-align: start;
  grid-column: 2;
  grid-row: 2;
}
.about .advantages__description {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.4rem, 2.0833333333vw + 0.0666666667rem, 3.4rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.03em;
}
.about .advantages__description p {
  margin: 0;
}

.faq__title h2 {
  letter-spacing: 0.23em;
}
.faq__content {
  display: flex;
  gap: 0;
  position: relative;
}
.faq__image {
  flex: 0 0 40%;
  position: relative;
}
.faq__image img {
  width: 100%;
  height: auto;
  display: block;
}
.faq__questions {
  margin-right: clamp(2.025rem, 0.9375vw + 1.425rem, 2.925rem);
}
.faq__items {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(0.675rem, 0.3125vw + 0.475rem, 0.975rem);
}
.faq__item {
  box-sizing: border-box;
  border: 1px solid #A7A7A7;
  border-left: none;
  text-align: left;
  position: relative;
  transition: background-color 1.15s cubic-bezier(0.77, 0, 0.18, 1), color 1.15s cubic-bezier(0.77, 0, 0.18, 1);
}
.faq__item::before {
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  width: 0;
  height: 100%;
  background-color: #830000;
  mix-blend-mode: color;
  opacity: 1;
  transition: width 0.95s cubic-bezier(0.77, 0, 0.18, 1);
}
.faq__item:hover {
  background-color: #830000;
  color: #fff;
}
.faq__item:hover .faq__arrow {
  color: #ffffff;
}
.faq__item:hover .faq__question {
  color: #fff;
}
.faq__item:hover::before {
  width: 100vw;
}
.faq__question {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: inherit;
  border: none;
  padding: clamp(1.575rem, 0.7291666667vw + 1.1083333333rem, 2.275rem);
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.05rem, 1.5625vw + 0.05rem, 2.55rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.faq__answer {
  max-height: 0;
  overflow: hidden;
  padding-top: 0;
  transition: max-height 0.8s cubic-bezier(0.77, 0, 0.18, 1);
  padding: 0 clamp(1.575rem, 0.7291666667vw + 1.1083333333rem, 2.275rem);
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(0.875rem, 1.3020833333vw + 0.0416666667rem, 2.125rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.2em;
}
.faq__answer p, .faq__answer ul {
  margin: 0;
}
.faq__arrow {
  color: #A3A3A3;
  vertical-align: middle;
  margin-left: auto;
  display: inline-flex;
  transition: color 0.35s ease, transform 0.45s cubic-bezier(0.77, 0, 0.18, 1);
}
.faq__arrow svg {
  width: clamp(3.15rem, 1.4583333333vw + 2.2166666667rem, 4.55rem);
  height: clamp(1.575rem, 0.7291666667vw + 1.1083333333rem, 2.275rem);
  display: block;
}
.faq__item.is-open .faq__arrow {
  transform: rotate(180deg);
}
.faq__connect {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "title title" "subtitle button";
  padding-left: clamp(0.7875rem, 0.3645833333vw + 0.5541666667rem, 1.1375rem);
}
.faq__connect__title {
  grid-area: title;
}
.faq__connect__title h3 {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 700;
  font-size: clamp(2.975rem, 4.4270833333vw + 0.1416666667rem, 7.225rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1em;
  text-align: left;
  margin-bottom: 0;
  padding-right: clamp(9rem, 4.1666666667vw + 6.3333333333rem, 13rem);
}
.faq__connect__subtitle {
  grid-area: subtitle;
}
.faq__connect__subtitle h4 {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(0.875rem, 1.3020833333vw + 0.0416666667rem, 2.125rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1em;
  text-align: left;
  margin: 0;
  color: #656565;
}
.faq__connect .section__button--faq {
  justify-content: flex-end;
  grid-area: button;
}
.faq__connect .section__button--faq .section__button-arrow--faq {
  width: 1.5em;
  height: 1.5em;
}

.advices__content {
  display: flex;
  gap: 0;
  position: relative;
  align-items: stretch;
}
.advices__image {
  flex: 0 0 46%;
}
.advices__text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 clamp(2.25rem, 1.0416666667vw + 1.5833333333rem, 3.25rem);
}
.advices__company {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.advices__company-name {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 700;
  font-size: clamp(4.2rem, 6.25vw + 0.2rem, 10.2rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1.03em;
  color: #830000;
  margin: 0;
}
.advices__company-year {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.4rem, 2.0833333333vw + 0.0666666667rem, 3.4rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #999999;
  margin: 0;
}
.advices__body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.advices__body-content {
  text-align: left;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(1.4rem, 2.0833333333vw + 0.0666666667rem, 3.4rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1em;
}
.advices__body .section__button--advices {
  display: flex;
  justify-content: flex-end;
}

.contacts__content {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  grid-template-areas: "address desc" "phone email" "phone image" "socials image";
  gap: 0;
  text-align: left;
  padding-left: clamp(2.25rem, 1.0416666667vw + 1.5833333333rem, 3.25rem);
}
.contacts__content h3 {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(1.4rem, 2.0833333333vw + 0.0666666667rem, 3.4rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #830000;
  line-height: 1em;
}
.contacts__content p {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-size: clamp(0.875rem, 1.3020833333vw + 0.0416666667rem, 2.125rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  line-height: 1em;
}
.contacts__address {
  grid-area: address;
  margin-bottom: clamp(6.75rem, 3.125vw + 4.75rem, 9.75rem);
}
.contacts__address p {
  text-decoration: underline;
}
.contacts__phone {
  grid-area: phone;
}
.contacts__socials {
  grid-area: socials;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(1.225rem, 1.8229166667vw + 0.0583333333rem, 2.975rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #830000;
}
.contacts__socials a {
  position: relative;
}
.contacts__socials a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: scaleX(1);
  transform-origin: left;
  transition: transform 0.75s cubic-bezier(0.77, 0, 0.18, 1);
}
.contacts__socials a:hover::after {
  transform: scaleX(0);
  transform-origin: right;
}
.contacts__description {
  grid-area: desc;
  align-self: flex-end;
  padding-right: clamp(19.6875rem, 9.1145833333vw + 13.8541666667rem, 28.4375rem);
  margin-bottom: clamp(6.75rem, 3.125vw + 4.75rem, 9.75rem);
}
.contacts__email {
  grid-area: email;
}
.contacts__email p {
  text-decoration: underline;
}
.contacts__image {
  grid-area: image;
  position: relative;
}
.contacts__image img {
  width: 100%;
  height: auto;
}
.contacts__image::before {
  content: "";
  position: absolute;
  top: 17%;
  right: 0;
  width: 57%;
  height: 17%;
  background-color: #830000;
  mix-blend-mode: color-burn;
  pointer-events: none;
  transition: width 0.95s cubic-bezier(0.77, 0, 0.18, 1);
}

.contact-form {
  margin-bottom: clamp(5.625rem, 2.6041666667vw + 3.9583333333rem, 8.125rem);
}
.contact-form__content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 clamp(2.25rem, 1.0416666667vw + 1.5833333333rem, 3.25rem);
  gap: clamp(3.09375rem, 1.4322916667vw + 2.1770833333rem, 4.46875rem);
}
.contact-form__image img {
  width: 100%;
  height: auto;
}
.contact-form__form {
  display: flex;
  flex-direction: column;
}
.contact-form__form .wpcf7 input,
.contact-form__form .wpcf7 textarea {
  width: 100%;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(1.05rem, 1.5625vw + 0.05rem, 2.55rem);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 0 clamp(1.2375rem, 0.5729166667vw + 0.8708333333rem, 1.7875rem);
  line-height: 2.5em;
  margin: clamp(1.18125rem, 0.546875vw + 0.83125rem, 1.70625rem) 0;
  transition: border-color 0.3s ease;
}
.contact-form__form .wpcf7 input:focus,
.contact-form__form .wpcf7 textarea:focus {
  border-color: #830000;
  outline: none;
}
.contact-form__form .wpcf7 button {
  border: none;
}
.contact-form__form .form__footer {
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
}
.contact-form__form .form__footer .form__checkbox {
  flex: 0 1 auto;
  display: flex;
  align-items: center;
  user-select: none;
  position: relative;
  gap: clamp(0.5625rem, 0.2604166667vw + 0.3958333333rem, 0.8125rem);
}
.contact-form__form .form__footer .form__checkbox a {
  color: #830000;
  text-decoration: underline;
}
.contact-form__form .form__footer .form__checkbox input[type=checkbox] {
  width: 1em;
  height: 1em;
  position: absolute;
  opacity: 0;
  cursor: pointer;
  margin: 0;
}
.contact-form__form .form__footer .form__checkbox .form__custom-checkbox {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1em;
  height: 1em;
  border: 2px solid #830000;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  flex-shrink: 0;
}
.contact-form__form .form__footer .form__checkbox input:checked + .form__custom-checkbox {
  background-color: #830000;
  border-color: #830000;
}
.contact-form__form .form__footer .section__button {
  flex: 0 0 auto;
  margin-left: auto;
}

.categories .catalog-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  background-color: #830000;
}
.categories .catalog-item {
  position: relative;
  display: block;
  overflow: hidden;
}
.categories .catalog-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.77, 0, 0.18, 1);
}
.categories .catalog-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  z-index: 1;
  pointer-events: none;
}
.categories .catalog-item__label {
  position: absolute;
  bottom: clamp(1.125rem, 0.5208333333vw + 0.7916666667rem, 1.625rem);
  left: clamp(1.125rem, 0.5208333333vw + 0.7916666667rem, 1.625rem);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: clamp(0.675rem, 0.3125vw + 0.475rem, 0.975rem);
  color: #ffffff;
  font-family: "Bebas Neue", sans-serif;
  font-weight: 500;
  font-size: clamp(2.8rem, 4.1666666667vw + 0.1333333333rem, 6.8rem);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.categories .catalog-item__arrow {
  width: clamp(2.7rem, 1.25vw + 1.9rem, 3.9rem);
  height: auto;
  fill: currentColor;
  transform: translateX(-6px);
  opacity: 0;
  transition: transform 0.5s cubic-bezier(0.77, 0, 0.18, 1), opacity 0.5s ease;
}
.categories .catalog-item:hover img {
  transform: scale(1.05);
}
.categories .catalog-item:hover .catalog-item__arrow {
  transform: translateX(0);
  opacity: 1;
}
.categories {
  /* паттерн: 1 большой, 2 обычных */
}
.categories .catalog-item:nth-child(3n+1) {
  grid-column: span 2;
}

/* Плагины и стороннее */
/*!
Theme Name: Puff Plus Size
Theme URI: http://underscores.me/
Author: Nikita Krasavin
Author URI: http://@HKrasavin
Description: Custom WordPress theme for Puff Plus Size bridal catalog
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: puff-plus-size
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/
/* Абстракции */
/*
Theme Name: Puff Plus Size

WooCommerce styles override
*/
/**
 * Shop tables
 */
table.shop_table_responsive thead {
  display: none;
}
table.shop_table_responsive tbody th {
  display: none;
}
table.shop_table_responsive tr td {
  display: block;
  text-align: right;
  clear: both;
}
table.shop_table_responsive tr td::before {
  content: attr(data-title) ": ";
  float: left;
}
table.shop_table_responsive tr td.product-remove a {
  text-align: left;
}
table.shop_table_responsive tr td.product-remove::before {
  display: none;
}
table.shop_table_responsive tr td.actions::before, table.shop_table_responsive tr td.download-actions::before {
  display: none;
}
table.shop_table_responsive tr td.download-actions .button {
  display: block;
  text-align: center;
}

@media screen and (min-width: 48em) {
  table.shop_table_responsive thead {
    display: table-header-group;
  }
  table.shop_table_responsive tbody th {
    display: table-cell;
  }
  table.shop_table_responsive tr th,
  table.shop_table_responsive tr td {
    text-align: left;
  }
  table.shop_table_responsive tr td {
    display: table-cell;
  }
  table.shop_table_responsive tr td::before {
    display: none;
  }
}
/**
 * Products
 */
ul.products {
  margin: 0;
  padding: 0;
}
ul.products li.product {
  list-style: none;
  position: relative;
  margin-bottom: 2em;
}
ul.products li.product img {
  display: block;
}
ul.products li.product .button {
  display: block;
}

@media screen and (min-width: 48em) {
  ul.products li.product {
    width: 30.7966666667%;
    float: left;
    margin-right: 3.8%;
  }
  ul.products li.product.first {
    clear: both;
  }
  ul.products li.product.last {
    margin-right: 0;
  }
  ul.products.columns-1 li.product {
    float: none;
    width: 100%;
  }
  ul.products.columns-2 li.product {
    width: 48.1%;
  }
  ul.products.columns-3 li.product {
    width: 30.7966666667%;
  }
  ul.products.columns-4 li.product {
    width: 22.15%;
  }
  ul.products.columns-5 li.product {
    width: 16.96%;
  }
  ul.products.columns-6 li.product {
    width: 13.4933333333%;
  }
}
/**
 * Single product
 */
.single-product div.product {
  position: relative;
}
.single-product div.product .woocommerce-product-gallery {
  position: relative;
  float: left;
}
.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  position: absolute;
  top: 2em;
  right: 1em;
  display: block;
  z-index: 99;
}
.single-product div.product .woocommerce-product-gallery .flex-viewport {
  margin-bottom: 1em;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
  margin: 0;
  padding: 0;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
  list-style: none;
  cursor: pointer;
  float: left;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img {
  opacity: 0.5;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
  opacity: 1;
}
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li:hover img {
  opacity: 1;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li {
  width: 48.1%;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n) {
  margin-right: 0;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-2 .flex-control-thumbs li:nth-child(2n+1) {
  clear: both;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li {
  width: 30.7966666667%;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n) {
  margin-right: 0;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-3 .flex-control-thumbs li:nth-child(3n+1) {
  clear: both;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
  width: 22.15%;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n) {
  margin-right: 0;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li:nth-child(4n+1) {
  clear: both;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li {
  width: 16.96%;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n) {
  margin-right: 0;
}
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li:nth-child(5n+1) {
  clear: both;
}

.stock:empty::before {
  display: none;
}
.stock.in-stock {
  color: #0f834d;
}
.stock.out-of-stock {
  color: #e2401c;
}

/**
 * Checkout
 */
@media screen and (min-width: 768px) {
  .col2-set .form-row-first {
    float: left;
    margin-right: 3.8%;
  }
  .col2-set .form-row-last {
    float: right;
    margin-right: 0;
  }
  .col2-set .form-row-first,
  .col2-set .form-row-last {
    width: 48.1%;
  }
}
/**
 * General WooCommerce components
 */
/**
 * Header cart
 */
.site-header-cart {
  position: relative;
  margin: 0;
  padding: 0;
}
.site-header-cart .cart-contents {
  text-decoration: none;
}
.site-header-cart .widget_shopping_cart {
  display: none;
}
.site-header-cart .product_list_widget {
  margin: 0;
  padding: 0;
}

/**
 * Star rating
 */
.star-rating {
  overflow: hidden;
  position: relative;
  height: 1.618em;
  line-height: 1.618;
  width: 5.3em;
  font-family: star;
  font-weight: 400;
}
.star-rating::before {
  content: "SSSSS";
  opacity: 0.25;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
}
.star-rating span {
  overflow: hidden;
  float: left;
  top: 0;
  left: 0;
  position: absolute;
  padding-top: 1.5em;
}
.star-rating span::before {
  content: "SSSSS";
  top: 0;
  position: absolute;
  left: 0;
  color: inherit;
}

p.stars a {
  position: relative;
  height: 1em;
  width: 1em;
  text-indent: -999em;
  display: inline-block;
  text-decoration: none;
  margin-right: 1px;
  font-weight: 400;
}
p.stars a::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  line-height: 1;
  font-family: star;
  content: "S";
  color: #000000;
  text-indent: 0;
  opacity: 0.25;
}
p.stars a:hover ~ a::before {
  content: "S";
  color: #000000;
  opacity: 0.25;
}
p.stars:hover a::before {
  content: "S";
  color: inherit;
  opacity: 1;
}
p.stars.selected a.active::before {
  content: "S";
  color: inherit;
  opacity: 1;
}
p.stars.selected a.active ~ a::before {
  content: "S";
  color: #000000;
  opacity: 0.25;
}
p.stars.selected a:not(.active)::before {
  content: "S";
  color: inherit;
  opacity: 1;
}

/**
 * Tabs
 */
.woocommerce-tabs ul.tabs {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}
.woocommerce-tabs ul.tabs li {
  display: block;
  margin: 0;
  position: relative;
}
.woocommerce-tabs ul.tabs li a {
  padding: 1em 0;
  display: block;
}
.woocommerce-tabs .panel h2:first-of-type {
  margin-bottom: 1em;
}

/**
 * Password strength meter
 */
.woocommerce-password-strength {
  text-align: right;
}
.woocommerce-password-strength.strong {
  color: #0f834d;
}
.woocommerce-password-strength.short {
  color: #e2401c;
}
.woocommerce-password-strength.bad {
  color: #e2401c;
}
.woocommerce-password-strength.good {
  color: #3d9cd2;
}

/**
 * Forms
 */
.form-row.woocommerce-validated input.input-text {
  box-shadow: inset 2px 0 0 #0f834d;
}
.form-row.woocommerce-invalid input.input-text {
  box-shadow: inset 2px 0 0 #e2401c;
}

.required {
  color: #f00;
}

/**
 * Notices
 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
  background-color: #0f834d;
  clear: both;
}

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  background-color: #3d9cd2;
}

.woocommerce-error {
  background-color: #e2401c;
}

.demo_store {
  position: fixed;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  padding: 1em;
  background-color: #3d9cd2;
  z-index: 9999;
}

@media screen and (min-width: 48em) {
  /**
   * Header cart
   */
  .site-header-cart .widget_shopping_cart {
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 999999;
    left: -999em;
    display: block;
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  }
  .site-header-cart:hover .widget_shopping_cart, .site-header-cart.focus .widget_shopping_cart {
    left: 0;
    display: block;
  }
}
/**
 * WooCommerce widgets
 */
/**
 * WooCommerce Price Filter
 */
.widget_price_filter .price_slider {
  margin-bottom: 1.5em;
}
.widget_price_filter .price_slider_amount {
  text-align: right;
  line-height: 2.4;
}
.widget_price_filter .price_slider_amount .button {
  float: left;
}
.widget_price_filter .ui-slider {
  position: relative;
  text-align: left;
}
.widget_price_filter .ui-slider .ui-slider-handle {
  position: absolute;
  z-index: 2;
  width: 1em;
  height: 1em;
  cursor: ew-resize;
  outline: none;
  background: inherit;
  box-sizing: border-box;
  margin-top: -0.25em;
  opacity: 1;
}
.widget_price_filter .ui-slider .ui-slider-handle:last-child {
  margin-left: -1em;
}
.widget_price_filter .ui-slider .ui-slider-handle:hover, .widget_price_filter .ui-slider .ui-slider-handle.ui-state-active {
  box-shadow: 0 0 0 0.25em rgba(0, 0, 0, 0.1);
}
.widget_price_filter .ui-slider .ui-slider-range {
  position: absolute;
  z-index: 1;
  display: block;
  border: 0;
  background: inherit;
}
.widget_price_filter .price_slider_wrapper .ui-widget-content {
  background: rgba(0, 0, 0, 0.1);
}
.widget_price_filter .ui-slider-horizontal {
  height: 0.5em;
}
.widget_price_filter .ui-slider-horizontal .ui-slider-range {
  height: 100%;
}

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/* Layouts */
.no-sidebar .site {
  display: grid;
  grid-template-columns: auto;
  grid-template-areas: "header" "main" "footer";
}

/* Утилиты */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

.alignleft {
  /*rtl:ignore*/
  float: left;
  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;
  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/*# sourceMappingURL=style.css.map */
