@charset "UTF-8";
@import 'reset.css';
@import 'profile.css';

/* Accessibility helpers */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 1000;
    background: #1d1d1d;
    color: #fff;
    padding: 0.5rem 1rem;
}
.skip-link:focus {
    left: 0;
}

/* Visible keyboard focus indicator (native outlines are reset elsewhere). */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
summary:focus-visible {
    outline: 3px solid #EFBF87;
    outline-offset: 2px;
    border-radius: 2px;
}

/* Inline SVG icons (replaces Font Awesome); inherit text size & colour. */
.icon {
    width: 1em;
    height: 1em;
    fill: currentColor;
    vertical-align: -0.125em;
    display: inline-block;
    flex-shrink: 0;
}
.animated-message {
  top: 1rem;
  overflow: hidden;
  transition: height 1s ease;
}

@keyframes hideAndRemove {
  to {
    height: 0;
    margin: 0;
    padding: 0;
    opacity: 0;
  }
}
.hide-and-remove {
  animation: hideAndRemove 1s forwards;
  animation-delay: 5s;
}

.flex-row {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.flex-col {
  display: flex;
  flex-direction: column;
}

.flex-center {
  justify-content: center;
  align-content: center;
}

.flex-wrap {
  flex-wrap: wrap;
}

.flex-arround {
  justify-content: space-around;
}

.flex-between {
  justify-content: space-between;
}

.flex-start {
  justify-content: flex-start;
}

.flex-end {
  justify-content: flex-end;
}

.flex-grow {
  flex-grow: 1;
}

.flex-gap-1 {
  gap: 1rem;
}

.flex-gap-2 {
  gap: 2rem;
}

.flex-gap-3 {
  gap: 3rem;
}

.flex-bottom {
  align-items: end;
  align-content: end;
}

.flex-top {
  align-items: start;
  align-content: start;
}

.p-05 {
  padding: 0.5rem;
}

.p-1 {
  padding: 1rem;
}

.p-2 {
  padding: 2rem;
}

.p-3 {
  padding: 3rem;
}

.h-100 {
  height: 100%;
}

.w-100 {
  width: 100%;
}

.mt-05 {
  margin-top: 0.5rem;
}

.mt-1 {
  margin-top: 1rem;
}

.mt-2 {
  margin-top: 2rem;
}

.mt-3 {
  margin-top: 3rem;
}

.mb-05 {
  margin-bottom: 0.5rem;
}

.mb-1 {
  margin-bottom: 1rem;
}

.mb-2 {
  margin-bottom: 2rem;
}

.mb-3 {
  margin-bottom: 3rem;
}

.line-under {
  border-bottom: 1px solid white;
}

.line-over {
  border-top: 1px solid white;
}

.sticky-bottom {
  position: sticky !important;
  bottom: 0 !important;
}

.sticky-top {
  position: sticky !important;
  top: 0 !important;
}

body {
  font-family: "DM Sans", sans-serif;
  color: white;
  background-color: #231417;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
}
body h1, body h2, body h3, body h4, body h5 {
  font-family: "Playfair Display", serif;
  letter-spacing: -0.16px;
}
body h1 {
  font-weight: 600;
  font-size: 3.5rem;
  line-height: 4.2rem;
}
body h2 {
  font-size: 2.2rem;
  line-height: 3rem;
  font-weight: 400;
}
body h3 {
  font-size: 2rem;
  line-height: 2.6rem;
  font-weight: 400;
}
body h5 {
  font-size: 0.8rem;
  line-height: 0.8rem;
  font-weight: 400;
}
body img {
  max-width: 90dvw;
}
body .primary {
  color: #EFBF87;
}
body .secondary {
  color: #D8BD9D;
}
body .message-container {
  justify-self: center;
  align-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background-color: rgba(255, 255, 255, 0.5);
  margin-bottom: 1rem;
  width: 100%;
  z-index: 100;
}
body .message-container > div {
  max-width: 600px;
  margin: 0;
}
body .info-message, body .error-message {
  padding: 0.5rem 2rem 0.5rem 3rem;
  display: inline-flex;
  margin-bottom: 1rem;
  position: relative;
}
body .info-message .message-icon, body .error-message .message-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 3rem;
  height: 100%;
}
body .info-message .message-icon img, body .error-message .message-icon img {
  height: 1.5rem;
  width: 1.5rem;
}
body .info-message.animated-message, body .error-message.animated-message {
  position: fixed;
  top: 5rem;
  z-index: 100;
}
body .info-message {
  background-color: #EFBF87;
  color: #222222;
}
body .info-message-link {
  margin-top: -2rem;
  text-align: right;
}
body .info-message-link a {
  text-decoration: underline;
  color: #EFBF87;
}
body .info-message-link a:hover {
  color: white;
}
body .error-message {
  background-color: #853444;
  color: white;
}
body .notification {
  align-items: center;
  background-color: #EFBF87;
  color: #222222;
  padding: 1rem;
  max-width: 600px;
  justify-content: center;
}
body .notification a {
  text-decoration: underline;
  font-weight: bold;
  padding-top: 0.3rem;
}
body .notification a:hover {
  color: black;
}
body .notification .badge {
  background-color: #953131;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 2rem;
  min-width: 50px;
  width: 50px;
  height: 50px;
}
body .notification .badge i {
  color: white;
  font-size: 1.5rem;
}
body .mobile {
  display: none;
}
body header {
  z-index: 1000;
}
body header nav {
  transition: background-color 0.5s ease-in-out, box-shadow 0.3s ease-in-out;
  background-color: transparent;
  color: white;
  position: fixed;
  top: 0;
  width: 100%;
  display: flex;
  flex-direction: row;
  padding: 0 4rem;
  height: 4rem;
  justify-content: space-between;
  align-items: center;
  font-size: large;
}
body header nav .hamburger-menu {
  width: 30px;
  height: 30px;
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: transform 0.3s ease-in-out;
  overflow: hidden;
}
body header nav .bar1, body header nav .bar2, body header nav .bar3 {
  width: 100%;
  height: 10px;
  background-color: white;
  margin: 3px 0;
  transition: transform 0.3s ease-in-out;
}
body header ul {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
body header ul li {
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0.6rem;
}
body header ul li.profile-menu-button a.button-light {
  white-space: nowrap;
}
body header ul li.profile-menu-button a.button-light img {
  height: 1rem;
}
body header ul li svg path {
  fill: white;
}
body header ul li a {
  padding: 0.6rem 0.5rem;
  cursor: pointer;
  width: 100%;
  text-align: center;
}
body header ul li a:hover {
  background: radial-gradient(hsla(25, 100%, 82.5%, 0.3), hsla(0, 0%, 0%, 0));
  text-decoration: underline;
}
body header ul li a.button-light {
  font-family: "Playfair Display", serif;
  letter-spacing: -0.16px;
  justify-self: flex-end;
  display: inline-flex;
  gap: 0.6rem;
  border: 1px solid white;
  border-radius: 2px;
  padding: 0.3rem 1rem;
}
body header ul li a.button-active {
  background-color: white;
  color: black;
}
body header ul li h3 a {
  padding: 0;
}
body header ul li p.user {
  font-size: 1rem;
  color: #EFBF87;
}
body main {
  display: flex;
  flex-direction: column;
  background-image: url("/img/bcg_img.webp");
  background-attachment: fixed;
  background-size: cover;
}
body main:has(.profile) {
  background-image: url("/img/bcg_silk.webp");
}
body main a:hover {
  color: #EFBF87;
}
body main form {
  display: flex;
  flex-direction: column;
  width: 360px;
  gap: 1.5rem;
}
body main form h2 {
  margin-bottom: 1rem;
}
body main form .form-input {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
body main form .form-input input, body main form .form-input textarea {
  color: #222222;
  position: relative;
}
body main form .form-input.form-error input, body main form .form-input.form-error textarea, body main form .form-input.form-error input::placeholder {
  background-color: #c9a8af;
  color: #853444;
  border-radius: 0;
}
body main form .form-input textarea:focus, body main form .form-input input:focus {
  background-color: #dbdbdb;
  color: #222222;
}
body main form .form-input textarea:focus::placeholder, body main form .form-input input:focus::placeholder {
  background-color: #dbdbdb;
  color: #222222;
}
body main form .form-input textarea:disabled, body main form .form-input input:disabled {
  background-color: transparent;
  border: 1px solid rgb(96, 96, 96);
  color: #EFBF87;
}
body main form .form-input .showPassword {
  position: absolute;
  top: 0;
  right: 0;
  width: 3rem;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
body main form .form-input .showPassword img {
  width: 1.5rem;
}
body main form .form-input .terms_checkbox {
  max-width: 3rem;
  align-self: flex-start;
}
body main form select {
  min-height: 2.2rem;
  font-size: 1rem;
  border-radius: 0.2rem;
  color: #2c2b2b;
  padding: 0.4rem 1rem;
}
body main form .error-input-text {
  margin: 0 0 -1rem 0;
  color: #d85973;
}
body main form input, body main form input[type=button], body main form input[type=submit], body main form input[type=reset], body main form textarea, body main form input, body main form input:focus, body main form textarea:focus {
  display: flex;
  min-width: 0;
  width: 100%;
  padding: 0.6rem 0 0.6rem 3rem;
  font-size: 1rem;
  background-color: #dbdbdb;
  border: 1px solid black;
  border-radius: 0;
}
body main form textarea::placeholder,
body main form input::placeholder {
  color: #e0e0e0;
}
body main form textarea:placeholder-shown,
body main form input:placeholder-shown {
  background-color: #999999;
}
body main form input[type=button], body main form input[type=submit], body main form input[type=reset] {
  padding: 0.6rem;
  margin-top: 1rem;
  background-color: transparent;
  border: 1px solid white;
  justify-content: center;
  font-size: 1.4rem;
  text-align: center;
}
body main form input:required::placeholder,
body main form textarea:required::placeholder {
  color: #853444;
}
body main form input[type=checkbox]:required:not(:checked) + label {
  color: #853444;
}
body main form label.icon_label {
  position: absolute;
  left: 1rem;
  z-index: 10;
}
body main form label.icon_label img {
  height: 1.3rem;
  width: 1.3rem;
}
body main form label.text_label {
  position: absolute;
  left: 0.5rem;
  top: -1rem;
  color: #9d9b9b;
}
body main form .form-extras {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: 1rem;
  font-size: 1.4rem;
  gap: 0.8rem;
}
body main form#payment_form .form-input {
  width: 360px;
}
body main section {
  padding-left: 4rem;
  padding-right: 4rem;
  display: flex;
  flex-direction: column;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
body main section:first-child {
  padding-top: 4rem;
}
body main section.articles {
  min-height: 90vh;
  gap: 1.5rem;
  margin: 3rem 0;
}
body main section.articles h2 {
  max-width: 40rem;
  line-height: 1em;
}
body main section.articles .paragraph {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  width: calc(50% - 2rem);
  white-space: pre-line;
}
body main section.articles .paragraph h2 {
  margin-bottom: 1rem;
}
body main section.articles .paragraph h3 {
  font-size: 1.6rem;
  color: #EFBF87;
}
body main section.articles .paragraph p {
  line-height: normal;
}
body main section.articles .paragraph ul {
  list-style-type: disc;
  margin-left: 1.4rem;
  padding-left: 1.4rem;
  margin-bottom: 2rem;
}
body main section.articles .paragraph a {
  padding: 2rem 0 0 2em;
  text-decoration: underline;
}
body main section.articles .paragraph--photo {
  width: 100%;
  gap: 0.6rem;
  margin: 0;
}
body main section.articles .paragraph--photo img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
body main section.articles .paragraph--photo figcaption {
  font-size: 0.9rem;
  color: #EFBF87;
  font-style: italic;
}
body main section.main {
  justify-content: center;
  align-items: center;
  min-height: 100dvh;
}
body main section.main .flex-row-col {
  display: flex;
  flex-direction: row;
  gap: 2rem 4rem;
}
body main section.main .flex-row-col .account_side-menu {
  position: relative;
  padding-top: 3rem;
  padding-right: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: start;
}
body main section.main .flex-row-col .account_side-menu ul {
  margin-bottom: 2rem;
}
body main section.main .flex-row-col .account_side-menu ul li a {
  font-size: 1.5rem;
  line-height: 3rem;
  text-decoration: underline;
}
body main section.main .flex-row-col .account_side-menu ul li.current {
  position: relative;
  color: #EFBF87;
}
body main section.main .flex-row-col .account_side-menu ul li.current::before {
  content: "▷";
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  left: -2rem;
  width: 2rem;
}
body main section.main .flex-row-col .account_side-menu::after {
  content: "";
  position: absolute;
  top: 0;
  right: -10px; /* Adjust this value based on your design */
  height: 100%;
  width: 2px;
  background-color: #ffffff; /* Change the color of the line */
}
body main section.main .flex-row-col .column-right {
  display: flex;
  flex-direction: column;
}
body main section.hero {
  color: white;
  background-color: rgba(125, 47, 62, 0.2509803922);
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden; /* Hide overflow to prevent gradient from overflowing */
  /* Gradient overlay */
  /* Top gradient */
  /* Bottom gradient */
}
body main section.hero::before, body main section.hero::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 9rem;
  z-index: 1;
  pointer-events: none; /* Ensures clicks go through to the background */
}
body main section.hero::before {
  top: 0;
  background: linear-gradient(to bottom, rgb(0, 0, 0), rgba(0, 0, 0, 0));
}
body main section.hero::after {
  bottom: 0;
  background: linear-gradient(to top, rgb(0, 0, 0), rgba(0, 0, 0, 0));
}
body main section.hero .hero-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  height: 16rem;
  position: relative;
  width: 100%;
  z-index: 2;
  gap: 2rem;
}
body main section.hero .hero-container .plakietka {
  padding: 0 1rem 0 0;
}
body main section.hero .hero-container .hero-text-container {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
body main section.hero .hero-container .hero-button-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 16rem;
}
body main section.hero #video-background, body main section.hero .video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  object-fit: cover;
}
body main section.hero .video-overlay {
  background-color: rgba(125, 47, 62, 0.2509803922);
}
body main section.hero-infopanel {
  border-top: 3px solid white;
  padding-top: 3rem;
  padding-bottom: 3rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  background-color: #222222;
  color: white;
}
body main section.hero-infopanel .hero-infopanel-item {
  line-height: 1.2rem;
}
body main section.hero-infopanel .hero-infopanel-item h2 {
  line-height: 2.4rem;
  margin-bottom: 1rem;
}
body main section.hero-infopanel .hero-infopanel-item a {
  color: #CC808F;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding-top: 1rem;
  gap: 1rem;
}
body main section.hero-infopanel .hero-infopanel-item a svg {
  fill: #CC808F;
  max-height: 1.2rem;
}
body main section.hero-infopanel .hero-infopanel-item a:hover {
  color: wheat;
  text-decoration: underline;
}
body main section.hero-infopanel .hero-infopanel-item a:hover svg {
  fill: wheat;
  transform: rotate(-45deg);
  transition: transform 0.1s;
}
body main section.articles-infopanel {
  padding-top: 3rem;
  padding-bottom: 3rem;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 3rem;
  background-color: #432428;
  color: #b3b3b3;
  width: 100%;
  border-top: 3px solid #676767;
}
body main section.articles-infopanel .articles-infopanel-item {
  line-height: 1.2rem;
  display: flex;
  flex-direction: column;
  text-align: left;
  width: clamp(25rem, 100%, 30%);
}
body main section.articles-infopanel .articles-infopanel-item h2 {
  line-height: 2rem;
  font-size: 1.6rem;
  margin-bottom: 0.4rem;
  color: white;
}
body main section.articles-infopanel .articles-infopanel-item a {
  color: #efbf87;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  padding-top: 1rem;
  gap: 1rem;
}
body main section.articles-infopanel .articles-infopanel-item a svg {
  fill: #efbf87;
  max-height: 1.2rem;
}
body main section.articles-infopanel .articles-infopanel-item a:hover {
  color: wheat;
  text-decoration: underline;
}
body main section.articles-infopanel .articles-infopanel-item a:hover svg {
  fill: wheat;
  transform: rotate(-45deg);
  transition: transform 0.1s;
}
body main section.description .description_container {
  max-width: 1024px;
  height: 100%;
  gap: 4rem;
}
body main section.description .description_container h2 {
  text-align: left;
}
body main section.description .description_container p {
  color: #868686;
  font-size: 1.2rem;
}
body main section.description .description_container .description-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 2rem;
  background-color: rgba(141, 141, 141, 0.15);
  gap: 2rem;
}
body main section.description .description_container .description-row h3 {
  font-size: 1.6rem;
  line-height: 1em;
}
body main section.description .description_container .description-row p, body main section.description .description_container .description-row li {
  color: #EFBF87;
  font-size: 1rem;
  padding-bottom: 1rem;
}
body main section.description .description_container .description-row p span, body main section.description .description_container .description-row li span {
  color: white;
}
body main section.description .description_container .description-row .img_container {
  flex-wrap: wrap;
  align-items: center;
}
body main section.description .description_container .description-row img.plakietka {
  max-width: 6rem;
}
body main section.description .description_container .description-row img.plakietka.profile-img {
  border-radius: 0.5rem;
}
body main section.dashboard ul.profiles, body main section.sampleProfiles ul.profiles {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1rem;
  max-width: 450px;
}
body main section.dashboard ul.profiles li.profile_card, body main section.sampleProfiles ul.profiles li.profile_card {
  background-color: rgba(141, 141, 141, 0.2);
  display: flex;
  flex-direction: column;
  padding: 1rem;
  width: clamp(280px, 27rem, 100%);
  gap: 1.2rem;
  border-radius: 0.4rem;
}
body main section.dashboard ul.profiles li.profile_card:nth-child(even), body main section.sampleProfiles ul.profiles li.profile_card:nth-child(even) {
  background-color: transparent;
  border: 1px solid #757472;
}
body main section.dashboard ul.profiles li.profile_card .reflection-wrapper, body main section.sampleProfiles ul.profiles li.profile_card .reflection-wrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}
body main section.dashboard ul.profiles li.profile_card .reflection, body main section.sampleProfiles ul.profiles li.profile_card .reflection {
  position: absolute;
  top: -50px;
  left: 100px;
  width: 200px;
  height: 150%;
  background-image: url("/img/effects/reflection.png"); /* Path to your reflection PNG */
  background-size: cover;
  animation: moveReflection 5s ease-in-out infinite; /* Adjust animation duration as needed */
}
body main section.dashboard ul.profiles li.profile_card .wrapper, body main section.sampleProfiles ul.profiles li.profile_card .wrapper {
  display: inline-flex;
  justify-content: space-between;
  gap: 1rem;
}
body main section.dashboard ul.profiles li.profile_card .wrapper .metal-plate, body main section.sampleProfiles ul.profiles li.profile_card .wrapper .metal-plate {
  padding: 0.8rem;
  border-radius: 0.6rem;
  background-color: #ccc8c8;
  box-shadow: #a1805a 5px 5px 20px;
}
body main section.dashboard ul.profiles li.profile_card .wrapper .thumbnail, body main section.sampleProfiles ul.profiles li.profile_card .wrapper .thumbnail {
  display: block;
  height: 6rem;
  width: 6rem;
  aspect-ratio: 1;
  border-radius: 1rem;
}
body main section.dashboard ul.profiles li.profile_card .wrapper h2, body main section.sampleProfiles ul.profiles li.profile_card .wrapper h2 {
  font-size: 1.6rem;
  line-height: 1.4rem;
  overflow-wrap: anywhere;
}
body main section.dashboard ul.profiles li.profile_card .wrapper p.dates, body main section.sampleProfiles ul.profiles li.profile_card .wrapper p.dates {
  padding: 0.5rem 0;
  font-size: 1.2rem;
  color: #D8BD9D;
}
body main section.dashboard ul.profiles li.profile_card .profile_card-button, body main section.sampleProfiles ul.profiles li.profile_card .profile_card-button {
  font-size: 1.4rem;
  text-align: center;
  padding: 0.6rem;
  border: 1px solid white;
  z-index: 100;
}
body main section.dashboard ul.profiles li.profile_card .profile_card-button:hover, body main section.sampleProfiles ul.profiles li.profile_card .profile_card-button:hover {
  background-color: #D8BD9D;
  color: #2F2828;
}
body main section.dashboard ul.profiles li.profile_card.new_profile, body main section.sampleProfiles ul.profiles li.profile_card.new_profile {
  font-size: larger;
  background-color: #EFBF87;
  color: rgba(24, 22, 22, 0.9);
  position: relative;
}
body main section.dashboard ul.profiles li.profile_card.new_profile .wrapper, body main section.sampleProfiles ul.profiles li.profile_card.new_profile .wrapper {
  z-index: 1;
}
body main section.dashboard ul.profiles li.profile_card.new_profile .wrapper img, body main section.sampleProfiles ul.profiles li.profile_card.new_profile .wrapper img {
  max-width: 7rem;
}
body main section.dashboard ul.profiles li.profile_card.new_profile h2, body main section.sampleProfiles ul.profiles li.profile_card.new_profile h2 {
  line-height: 1.8rem;
}
body main section.dashboard ul.profiles li.profile_card.new_profile a, body main section.sampleProfiles ul.profiles li.profile_card.new_profile a {
  z-index: 1;
  font-weight: 600;
}
body main section.dashboard ul.profiles li.profile_card.new_profile .profile_card-button, body main section.sampleProfiles ul.profiles li.profile_card.new_profile .profile_card-button {
  border: 2px solid black;
}
body main section.dashboard ul.profiles li.profile_card.new_profile .profile_card-button:hover, body main section.sampleProfiles ul.profiles li.profile_card.new_profile .profile_card-button:hover {
  background-color: #eedac4;
}
body main section.dashboard ul.profiles li.profile_card.new_profile:after, body main section.sampleProfiles ul.profiles li.profile_card.new_profile:after {
  content: "";
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #D8BD9D;
  filter: blur(20px);
  opacity: 0.6;
  position: absolute;
  animation: dropShadowAnimation 2.5s infinite alternate;
}
body main section.shop {
  display: flex;
  flex-direction: row;
  position: relative;
  justify-content: flex-end;
  background-color: rgba(34, 34, 34, 0.5);
}
body main section.shop .shop_container, body main section.shop .delivery_container, body main section.shop .payment_container {
  display: flex;
  flex-direction: row;
  flex-grow: 1;
  justify-content: center;
  align-items: center;
}
body main section.shop a.add_more {
  text-decoration: underline;
  color: #D8BD9D;
}
body main section.shop a.add_more:hover {
  color: white;
}
body main section.shop .basket_container {
  min-width: 360px;
  max-width: 360px;
  z-index: 500;
}
body main section.shop h1 {
  font-size: 2.2rem;
}
body main section.shop h2 {
  font-size: 1.8rem;
  font-family: "DM Sans", sans-serif;
}
body main section.shop .button-primary {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid black;
  color: black;
  background-color: #EFBF87;
  font-size: 1.2rem;
  padding: 0.5rem 1rem;
}
body main section.shop ul.products_display {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2rem;
  max-width: 1000px;
}
body main section.shop ul.products_display li.product-card {
  width: clamp(12rem, 90dvw, 32rem);
  padding: 1rem;
  gap: 1rem;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.2);
}
body main section.shop ul.products_display li.product-card img.product-thumbnail {
  width: 6rem;
  border-radius: 0.6rem;
}
body main section.shop ul.products_display li.product-card h1 {
  font-size: 2.1rem;
  line-height: 1.4;
}
body main section.shop ul.products_display li.product-card h1 span.plate_id {
  margin-left: 1rem;
  font-size: 0.8rem;
  font-weight: 300;
  color: #7b7b7b;
  font-family: "DM Sans", sans-serif;
}
body main section.shop ul.products_display li.product-card h2 {
  font-size: 1.4rem;
  line-height: 1.3rem;
  font-weight: 100;
  font-family: "DM Sans", sans-serif;
  color: #EFBF87;
}
body main section.shop ul.products_display li.product-card:nth-child(odd) {
  background-color: rgba(141, 141, 141, 0.18);
}
body main section.shop ul.products_display li.product-card .description {
  font-size: 1.1rem;
  color: #C1C1C1;
}
body main section.shop ul.products_display li.product-card .buy_button_container {
  margin-top: 2rem;
  width: clamp(10rem, 100%, 14rem);
  align-items: center;
  height: 3rem;
  border: 1px solid white;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
body main section.shop ul.products_display li.product-card .buy_button_container:hover {
  background-color: rgba(157, 152, 150, 0.3);
}
body main section.shop ul.products_display li.product-card .buy_button, body main section.shop ul.products_display li.product-card .add_button {
  position: absolute;
  top: 0;
  padding: 0.5rem 1rem;
  font-size: 1.4rem;
  align-items: center;
  gap: 1rem;
  transition: transform 0.5s;
  width: 100%;
  height: 100%;
}
body main section.shop ul.products_display li.product-card .add_button {
  transform: translateY(-3rem);
}
body main section.shop ul.products_display li.product-card .button_count {
  gap: 0.5rem;
  align-items: center;
}
body main section.shop ul.products_display li.product-card .price-container {
  text-align: right;
  min-width: 120px;
}
body main section.shop ul.products_display li.product-card .price-container .delivery_24 {
  color: #EFBF87;
}
body main section.shop ul.products_display li.product-card .price {
  font-size: 2rem;
  margin-right: 0.4rem;
}
body main section.shop ul.products_display li.product-card.counter .buy_button {
  transform: translateY(3rem);
}
body main section.shop ul.products_display li.product-card.counter .add_button {
  transform: translateY(0);
}
body main section.shop .basket {
  position: absolute;
  gap: 1rem;
  top: 4rem;
  right: 0;
  width: 360px;
  padding: 1rem;
  text-align: right;
  background-color: #222222;
  bottom: 0;
  transition: transform 0.5s ease-in-out;
  transform: translateX(100%);
  border-left: 1px solid white;
}
body main section.shop .basket label[for=open-cart] {
  cursor: pointer;
  font-weight: 600;
}
body main section.shop .basket label.open-cart::before {
  content: "▼";
  padding-right: 0.5rem;
}
body main section.shop .basket label.close-cart::before {
  content: "✖";
  padding-right: 0.5rem;
}
body main section.shop .basket label.close-cart,
body main section.shop .basket #open-cart,
body main section.shop .basket label.open-cart {
  display: none;
}
body main section.shop .basket ul.basket_items li, body main section.shop .basket ul.basket_items_headding li {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
body main section.shop .basket ul.basket_items li p, body main section.shop .basket ul.basket_items_headding li p {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
  min-width: 2rem;
}
body main section.shop .basket ul.basket_items li img, body main section.shop .basket ul.basket_items_headding li img {
  max-width: 2rem;
}
body main section.shop .basket ul.basket_items_headding {
  margin-top: -0.4em;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  width: 100%;
  justify-content: flex-end;
}
body main section.shop .basket ul.basket_items_headding li {
  width: 100%;
}
body main section.shop .basket ul.basket_items li {
  background-color: #4E4E4E;
  padding: 0.5rem;
  margin-bottom: 1rem;
  border-radius: 0.2rem;
}
body main section.shop .basket ul.basket_items li p.item_name {
  font-size: 0.9rem;
}
body main section.shop .basket .purchase_stage {
  padding: 2rem 2rem 0;
  position: relative;
}
body main section.shop .basket .purchase_stage .middle_line {
  display: block;
  position: absolute;
  height: 0.3rem;
  background-color: #9d9b9b;
  left: 2.2rem;
  right: 2.2rem;
  bottom: 0.6rem;
}
body main section.shop .basket .purchase_stage .circle {
  width: 1.5rem;
  height: 1.5rem;
  background-color: #9d9b9b;
  border-radius: 100%;
  position: relative;
}
body main section.shop .basket .purchase_stage .circle .stage_heading {
  position: absolute;
  top: -1rem;
  font-size: 0.8rem;
  color: #9d9b9b;
  text-align: center;
  left: -50%;
  right: -50%;
}
body main section.shop .basket .purchase_stage .circle img {
  display: block;
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0.2rem;
}
body main section.shop .basket .purchase_stage .done {
  background-color: #EFBF87;
}
body main section.shop .basket .purchase_stage .done .stage_heading {
  color: #EFBF87;
}
body main section.shop .basket .purchase_stage .fail {
  background-color: #d85973;
}
body main section.shop .basket .purchase_stage .fail .stage_heading {
  color: #d85973;
}
body main section.shop .basket .purchase_stage a.circle:hover {
  background-color: white;
  transform: scale(1.1);
}
body main section.shop .basket .delivery_cost {
  color: #9d9b9b;
}
body main section.shop .basket.basket_open {
  transform: translateX(0);
}
body main section.shop.delivery {
  background-color: #222222;
}
body main section.shop.delivery .content_container {
  max-width: 1000px;
}
body main section.shop.delivery .delivery_hero, body main section.shop.delivery .payment-success_hero {
  max-height: 70vh;
  width: clamp(50%, 14rem, 400px);
  background-image: url("/img/delivery_bcg.webp");
  background-size: cover;
  background-position: 60%;
  background-repeat: no-repeat;
  opacity: 0.1;
  flex-grow: 2;
}
body main section.shop.delivery .payment-success_hero {
  opacity: 1;
}
body main section.shop.delivery .delivery_form-container {
  width: auto;
}
body main section.shop.delivery .payment-text_container {
  width: clamp(50%, 40rem, 100%);
}
body main section.shop.delivery .payment-text_container p {
  font-size: 1.3rem;
  line-height: 1.7rem;
  color: #C1C1C1;
}
body main section.shop.delivery .payment-text_container img.author {
  width: 9rem;
  align-self: flex-end;
  margin-top: 4rem;
}
body main section.guest {
  min-height: auto;
  padding-bottom: unset;
}
body main section.video .video_container .video-row {
  grid-template-columns: repeat(1, 1fr);
  padding: 1rem;
}
body main section.video .video_container .video-container {
  position: relative;
  width: clamp(500px, 90vh, 800px);
  height: 0;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
}
body main section.video .video_container .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
body main button:hover {
  background: radial-gradient(hsla(25, 100%, 82.5%, 0.3), hsla(0, 0%, 0%, 0));
  text-decoration: underline;
}
body main button.more-info {
  font-size: x-large;
  padding: 0.5rem 1rem;
  border: 1px solid white;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  min-width: 15rem;
}
body main button.primary-action {
  font-size: x-large;
  padding: 0.5rem 1rem;
  border: 1px solid white;
  background-color: white;
  color: black;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  min-width: 15rem;
}
body main button img {
  max-height: 2rem;
}
body .spinner-container {
  align-items: center;
  gap: 0.2rem;
}
body .spinner-container h3 {
  font-size: 1.4rem;
  color: #EFBF87;
}
body .spinner-container .spinner {
  animation: spin 1s infinite linear;
}

.instantly {
  transform: translate(0, 0);
  transition: none;
}

.mobile {
  display: none;
}

@media (max-width: 1024px) {
  html body header nav ul .user {
    display: none;
  }
  html body main section.articles .paragraph {
    width: 100%;
  }
  html body main section.hero .hero-container {
    height: 10rem;
  }
  html body main section.hero .hero-container h1 {
    font-size: 2.6rem;
    line-height: 2.4rem;
  }
  html body main section.hero .hero-container h2 {
    padding-top: 0.5rem;
    font-size: 1.3rem;
    line-height: 1.6rem;
  }
  html body main section.hero-infopanel .hero-infopanel-item .plakietka_container {
    flex-direction: column;
  }
  html body main section.hero-infopanel .hero-infopanel-item .plakietka_container .plakietka {
    max-width: 6rem;
  }
  html body main section.hero-infopanel h2 {
    font-size: 1.8rem;
    line-height: 2rem;
  }
  html body main section.description .description_container .description-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
.mobile-menu {
  height: 100dvh;
  width: clamp(300px, 500px, 50vw);
  position: fixed;
  display: flex;
  top: 0;
  bottom: 0;
  right: 0;
  font-size: x-large;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
  background-color: #3E2F2F;
  color: #D8BD9D;
  z-index: -1;
  transform: translate(100dvw, 0);
  transition: transform 0.3s ease-in-out;
  padding: 1rem;
}
.mobile-menu li.btn-primary:first-child, .mobile-menu li.btn-primary:last-child {
  background-color: #EFBF87;
  color: #222222;
  border: #222222 1px solid;
}
.mobile-menu li:first-child {
  margin-bottom: 2rem;
}
.mobile-menu li.btn-secondary {
  background-color: #222222;
  color: #EFBF87;
  border: #EFBF87 1px solid;
}

header nav .hamburger-menu {
  width: 30px;
  height: 30px;
  flex-direction: column;
  cursor: pointer;
  transition: transform 0.3s ease-in-out;
  overflow: hidden;
}
header nav .bar1, header nav .bar2, header nav .bar3 {
  width: 100%;
  height: 10px;
  background-color: white;
  margin: 3px 0;
  transition: transform 0.3s ease-in-out;
}

footer,
.articles-infopanel {
  text-align: center;
}
footer button,
.articles-infopanel button {
  font-family: "Playfair Display", serif;
  letter-spacing: -0.16px;
  font-weight: 600;
  font-size: 1.3rem;
  text-align: center;
  width: clamp(17rem, 25rem, 90vh);
}
footer button.btn-primary,
.articles-infopanel button.btn-primary {
  background-color: #EFBF87;
  color: black;
  padding: 0.6rem 1.4rem;
}
footer button.btn-secondary,
.articles-infopanel button.btn-secondary {
  color: white;
  border: 1px solid white;
  padding: 0.6rem 1.4rem;
  min-width: 17rem;
}

.locked {
  overflow: hidden;
}
.locked .mobile-menu.active {
  transform: none;
}
.locked #menuToggle .bar1 {
  transform: rotate(-45deg) translate(-9px, 9px);
}
.locked #menuToggle .bar2 {
  transform: rotate(45deg) translate(2px, 2px);
}
.locked #menuToggle .bar3 {
  transform: translate(0, 12px);
}

@media (max-width: 800px) {
  .desktop {
    display: none;
  }
  html body .desktop {
    display: none;
  }
  html body .mobile {
    display: flex;
  }
  html body .mobile li {
    font-size: 2rem;
  }
  html body .flex-mobile-row {
    flex-direction: row !important;
  }
  html body .flex-mobile-col {
    flex-direction: column !important;
  }
  html body header {
    z-index: 1000;
  }
  html body header nav {
    padding: 0 1rem;
    font-size: medium;
    height: 3rem;
  }
  html body header nav ul li h3 {
    max-width: 4rem;
    font-size: 1rem;
    line-height: 1rem;
  }
  html body header nav ul li:hover {
    background: none;
  }
  html body main section {
    padding-right: 1rem;
    padding-left: 1rem;
  }
  html body main section:first-child {
    padding-top: 3rem;
  }
  html body main section .hero-button-container {
    gap: 1rem;
  }
  html body main section .hero-button-container a {
    width: 100%;
  }
  html body main section .hero-button-container a button {
    width: 100%;
  }
  html body main section.main:not(.login) {
    justify-content: flex-start;
  }
  html body main section.main .flex-row-col {
    flex-direction: column;
  }
  html body main section.main .flex-row-col .account_side-menu {
    padding: 0;
    display: block;
  }
  html body main section.main .flex-row-col .account_side-menu ul {
    margin: 1rem 0;
    display: flex;
    flex-direction: row;
    gap: 1.4rem;
  }
  html body main section.main .flex-row-col .account_side-menu ul li a {
    font-size: 1rem;
    line-height: 1.2rem;
  }
  html body main section.main .flex-row-col .account_side-menu ul li.current::before {
    left: auto;
    top: 1px;
    right: -1.6rem;
    font-size: 0.6rem;
    transform: rotate(180deg);
  }
  html body main section.main .flex-row-col .account_side-menu::after {
    content: none;
  }
  html body main section.main .dashboard-content {
    width: 100%;
  }
  html body main section.main.shop {
    flex-direction: column;
  }
  html body main section.main.shop .shop_container,
  html body main section.main.shop .delivery_container {
    margin-bottom: 10rem;
  }
  html body main section.main.shop .basket_container {
    display: flex;
    align-items: end;
    min-width: 100vw;
    max-width: 100vw;
    height: 4rem;
    position: fixed;
    bottom: 0;
    top: auto;
    height: auto;
    max-height: 20rem;
  }
  html body main section.main.shop .basket_container .basket {
    color: #222222;
    background-color: #EFBF87;
    gap: 0.2rem;
    position: relative;
    top: auto;
    bottom: auto;
    width: 100%;
    padding: 0.2rem 0.6rem;
  }
  html body main section.main.shop .basket_container .basket h2 {
    line-height: 1.8rem;
  }
  html body main section.main.shop .basket_container .basket ul.basket_items li {
    background-color: #b5a491;
  }
  html body main section.main.shop .basket_container .basket .purchase_stage {
    display: none;
  }
  html body main section.main.shop .basket_container .basket .button-primary {
    padding: 0;
    background-color: white;
  }
  html body main section.main.shop .basket_container .basket .basket_heading {
    position: absolute;
    bottom: 2.6rem;
    font-size: 1.8rem;
  }
  html body main section.main.shop .basket_container .basket .basket_heading.line-under {
    border: 0px;
  }
  html body main section.main.shop .basket_container .basket label.open-cart {
    display: block;
    padding: 0.1rem 0;
  }
  html body main section.main.shop .basket_container .basket label.close-cart {
    padding: 0.1rem 0 0.6rem;
  }
  html body main section.main.shop .basket_container .basket .open-cart-content,
  html body main section.main.shop .basket_container .basket label.close-cart,
  html body main section.main.shop .basket_container .basket #open-cart,
  html body main section.main.shop .basket_container .basket #open-cart:checked ~ label.open-cart {
    display: none;
  }
  html body main section.main.shop .basket_container .basket #open-cart:checked ~ .open-cart-content,
  html body main section.main.shop .basket_container .basket #open-cart:checked ~ label.close-cart {
    display: block;
  }
  html body main section.main.shop .basket_container .basket a.add_more {
    color: #2c2b2b;
  }
  html body main section.main.shop .delivery_container .delivery_hero {
    display: none;
  }
  html body main section.main.shop .delivery_container .delivery_form-container form {
    width: 100%;
    gap: 1rem;
  }
  html body main section.hero {
    height: 100dvh;
  }
  html body main section.hero #video-background {
    object-position: 80%;
  }
  html body main section.hero .hero-container {
    flex-direction: column;
    height: auto;
    padding-bottom: 2rem;
  }
  html body main section.hero .hero-container .hero-text-container {
    gap: 0.5rem;
  }
  html body main section.hero .hero-container .hero-text-container .plakietka {
    height: 5rem;
  }
  html body main section.hero .hero-container .hero-button-container {
    align-items: flex-end;
  }
  html body main section.hero-infopanel, html body main section.articles-infopanel {
    display: flex;
    flex-direction: column;
    height: auto;
  }
  html body main section.hero-infopanel .hero-infopanel-item,
  html body main section.hero-infopanel .articles-infopanel-item, html body main section.articles-infopanel .hero-infopanel-item,
  html body main section.articles-infopanel .articles-infopanel-item {
    width: 100%;
    justify-content: center;
  }
  html body main section.hero-infopanel .hero-infopanel-item .plakietka_container,
  html body main section.hero-infopanel .articles-infopanel-item .plakietka_container, html body main section.articles-infopanel .hero-infopanel-item .plakietka_container,
  html body main section.articles-infopanel .articles-infopanel-item .plakietka_container {
    flex-direction: row;
  }
  html body main section.hero-infopanel .hero-infopanel-item .plakietka_container .plakietka,
  html body main section.hero-infopanel .articles-infopanel-item .plakietka_container .plakietka, html body main section.articles-infopanel .hero-infopanel-item .plakietka_container .plakietka,
  html body main section.articles-infopanel .articles-infopanel-item .plakietka_container .plakietka {
    max-width: 6rem;
  }
  html body main section.hero-infopanel .hero-infopanel-item h2,
  html body main section.hero-infopanel .articles-infopanel-item h2, html body main section.articles-infopanel .hero-infopanel-item h2,
  html body main section.articles-infopanel .articles-infopanel-item h2 {
    margin-bottom: 0.3rem;
  }
  html body main section.hero-infopanel .articles-infopanel-item a button, html body main section.articles-infopanel .articles-infopanel-item a button {
    width: 100%;
  }
  html body main section.description .description_container .description-row,
  html body main section.description .description_container .video-row,
  html body main section.description .video_container .description-row,
  html body main section.description .video_container .video-row, html body main section.video .description_container .description-row,
  html body main section.video .description_container .video-row,
  html body main section.video .video_container .description-row,
  html body main section.video .video_container .video-row {
    grid-template-columns: repeat(1, 1fr);
    padding: 1rem;
  }
  html body main section.description .description_container .video-container,
  html body main section.description .video_container .video-container, html body main section.video .description_container .video-container,
  html body main section.video .video_container .video-container {
    position: relative;
    width: 90vw;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
  }
  html body main section.description .description_container .video-container iframe,
  html body main section.description .video_container .video-container iframe, html body main section.video .description_container .video-container iframe,
  html body main section.video .video_container .video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
  html body .mobile-menu {
    width: 100vw;
  }
}
@keyframes dropShadowAnimation {
  0% {
    filter: blur(10px);
  }
  100% {
    filter: blur(20px);
    background-color: #e7d6c3;
    transform: scale(1.1);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes moveReflection {
  0% {
    transform: translateX(-150%); /* Start position */
  }
  100% {
    transform: translateX(150%); /* Middle position */
  }
}

/* Minimum touch-target size (WCAG 2.5.5 / Lighthouse "tap targets"). */
body main button.more-info,
body main button.primary-action,
body button.btn-primary,
body button.btn-secondary,
body .btn-primary,
body .btn-secondary {
  min-height: 48px;
}
form button.btn-primary,
form button.btn-secondary,
form .btn-primary,
form .btn-secondary {
  min-height: auto;
}
/* Anchors that wrap those buttons should hug them so the whole target is tappable. */
body main .hero-button-container > a,
body footer a,
body .articles-infopanel a {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
}

/* Stable hero/background sizing on mobile.
   `dvh` changes as the browser URL bar shows/hides while scrolling, and
   `background-attachment: fixed` is repainted/resized on mobile — both made the
   hero video and the page background visibly shift on scroll. Use a static
   largest-viewport height for the cover video, a stable small-viewport height
   for the hero, and a non-fixed background on small screens. */
body main section.hero #video-background,
body main section.hero .video-overlay {
  height: 100vh;   /* fallback for browsers without lvh */
  height: 100lvh;  /* largest viewport height: constant, never shrinks on scroll */
}
@media (max-width: 800px) {
  html body main section.hero {
    height: auto;
    min-height: 100svh; /* small viewport height: stable, content stays visible */
  }
  body main {
    background-attachment: scroll; /* fixed backgrounds jump on mobile scroll */
  }
}

/* Keep the leading icon in article/info links a fixed size when the link text
   wraps to multiple lines (flex items shrink by default). */
body main section.articles-infopanel .articles-infopanel-item a svg {
  flex-shrink: 0;
}

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