@charset "UTF-8";
:root {
  --font: "Executive", Arial, sans-serif;
  --title: "System", Arial, sans-serif;
  --fs-x-small: 10px;
  --fs-small: 12px;
  --fs-normal: 16px;
  --fs-medium: 20px;
  --fs-big: 30px;
  --fs-x-big: 38px;
  --fs-button-bold: 22px;
  --leading-tight: 1;
  --leading-normal: 1.2;
  --fw-normal: 400;
  --fw-medium: 500;
  --fw-bold: 600;
  --color-bg: #161616;
  --color-txt: #ffffff;
  --color-txt-light: #b9b9b9;
  --color-accent: #00ff00;
  --color-accent-50: #e9ffe9;
  --color-accent-100: #d8fdd8;
  --grey-100: #d8d8d8;
  --grey-300: #b9b9b9;
  --grey-400: #969696;
  --grey-600: #6d6d6d;
  --grey-800: #383838;
  --border: 1px solid var(--color-txt);
  --border-light: 1px solid var(--grey-800);
  --header-h: 80px;
  --header-h-shrinked: 50px;
  --padding-body: 20px;
  --radius-small: 4px;
  --spacing: 30px;
  --h-block: 30px;
  --curve: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@media screen and (max-width: 720px) {
  :root {
    --fs-medium: 20px;
    --fs-big: 26px;
  }
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  scroll-behavior: smooth;
}

a {
  color: currentColor;
}

button {
  background: none;
  outline: none;
  border: none;
  color: var(--color-txt);
}

iframe {
  border: none;
}

body {
  font-family: var(--font);
  line-height: var(--leading-normal);
  font-size: var(--fs-normal);
  color: var(--color-txt);
  background-color: var(--color-bg);
  padding: 0px var(--padding-body);
  width: 100vw;
  overflow-x: hidden;
}

main {
  padding-top: var(--header-h);
  min-height: calc(100vh - var(--spacing) * 2);
  min-height: calc(100dvh - var(--spacing) * 2);
}

.nav--tabs {
  height: calc(var(--h-block) * 1);
  width: auto;
  border: var(--border);
  border-radius: var(--radius-small);
  overflow: hidden;
  display: inline-flex;
  width: auto;
  margin: 0 auto;
  margin-bottom: var(--spacing);
}
.nav--tabs .nav--tabs__btn {
  font-family: var(--font);
  font-size: var(--fs-small);
  font-weight: var(--fw-medium);
  padding: 0 2ch;
}
.nav--tabs .nav--tabs__btn.is-selected {
  background-color: var(--color-txt);
  color: var(--color-bg);
}
.nav--tabs .nav--tabs__btn:not(.is-selected):hover {
  background-color: var(--grey-800);
  cursor: pointer;
}
.nav--tabs .nav--tabs__btn + .nav--tabs__btn {
  border-left: var(--border);
}

.btn__default {
  --size: calc(var(--h-block) - 8px);
  font-size: var(--fs-normal);
  font-weight: var(--fw-normal);
  height: var(--size);
  padding-right: 1.5ch;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0ch;
  color: var(--color-accent);
  font-weight: var(--fw-medium);
  text-decoration: none;
  cursor: pointer;
}
.btn__default .icon,
.btn__default .txt {
  z-index: 10;
}
.btn__default .icon {
  width: var(--size);
  height: var(--size);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-bg);
  text-align: center;
}
.btn__default .icon svg {
  fill: var(--color-bg);
  width: 80%;
}
.btn__default .txt {
  font-family: var(--font-title);
  color: var(--color-accent);
  font-size: var(--fs-normal);
  font-weight: var(--fw-bold);
  padding-left: 1ch;
}
.btn__default::after {
  content: "";
  display: block;
  background-color: var(--color-accent);
  border-radius: calc(var(--size) / 2);
  width: var(--size);
  height: var(--size);
  position: absolute;
  left: 0;
  z-index: 0;
  transition: width 0.2s;
}
.btn__default:hover:not(:disabled) .txt {
  color: var(--color-bg);
  display: block;
}
.btn__default:hover:not(:disabled)::after {
  width: 100%;
}
.btn__default:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

#btn--don__mobile {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: calc(var(--spacing) * 0.5);
  padding-bottom: calc(var(--spacing) * 1.5);
  position: fixed;
  bottom: 0px;
  left: 0;
  z-index: 100;
  opacity: 0;
  transition: opacity ease-in 0.2s;
  pointer-events: none;
}
#btn--don__mobile.is-visible {
  pointer-events: all;
  opacity: 1;
}
#btn--don__mobile.is-sticky {
  position: relative;
}
@media screen and (min-width: 720px) {
  #btn--don__mobile {
    display: none !important;
  }
}

.btn--don {
  --vertical-padding: 0.5ch;
  height: calc(var(--h-block) + var(--vertical-padding));
  border-radius: calc(var(--h-block) / 1);
  padding: var(--vertical-padding) 2ch;
  background-color: var(--color-accent);
  color: var(--color-bg);
  font-family: var(--font);
  font-size: var(--fs-medium);
  font-weight: var(--fw-bold);
}
.btn--don a {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 0.5ch;
}
.btn--don .icon {
  height: 28px;
  position: relative;
  top: 1px;
}
.btn--don svg {
  fill: var(--color-bg);
  width: 24px;
  height: 24px;
}

.form__newsletter {
  --size: 24px;
  position: relative;
  display: flex;
  align-items: center;
  position: relative;
}
.form__newsletter input[type=email] {
  height: calc(var(--h-block) * 1.25);
  width: 100%;
  border-radius: calc(var(--h-block) * 0.625);
  outline: none;
  border: none;
  padding: 0 2ch;
  font-family: var(--font);
  font-size: var(--fs-normal);
  z-index: 40;
  padding-top: 4px;
}
.form__newsletter input[type=email]::-moz-placeholder {
  font-family: var(--font);
  font-size: var(--fs-normal);
}
.form__newsletter input[type=email]::placeholder {
  font-family: var(--font);
  font-size: var(--fs-normal);
}
.form__newsletter input[type=email]:focus {
  outline: 3px solid var(--grey-400);
}
.form__newsletter button[type=submit].btn--bold {
  position: absolute;
  right: 2px;
  z-index: 100;
}
.form__newsletter button[type=submit].btn--bold {
  --size: calc(var(--h-block)*1.25 - 4px);
  font-family: var(--font);
  font-size: var(--fs-button-bold);
  height: var(--size);
  display: flex;
  align-items: center;
  gap: 0.75ch;
  color: var(--color-accent);
  font-weight: var(--fw-medium);
  text-decoration: none;
  cursor: pointer;
}
.form__newsletter button[type=submit].btn--bold .icon, .form__newsletter button[type=submit].btn--bold .txt {
  z-index: 10;
}
.form__newsletter button[type=submit].btn--bold .icon {
  width: var(--size);
  height: var(--size);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-bg);
  text-align: center;
}
.form__newsletter button[type=submit].btn--bold .icon svg {
  fill: var(--color-bg);
  width: 80%;
}
.form__newsletter button[type=submit].btn--bold .txt {
  position: relative;
  top: 2px;
  font-size: var(--fs-normal);
  display: none;
  padding-left: 1ch;
}
.form__newsletter button[type=submit].btn--bold::after {
  content: "";
  display: block;
  background-color: var(--color-accent);
  border-radius: calc(var(--size) / 2);
  width: var(--size);
  height: var(--size);
  position: absolute;
  right: 0;
  z-index: 0;
  transition: width 0.2s;
}
.form__newsletter button[type=submit].btn--bold:hover .txt {
  color: var(--color-bg);
  display: block;
}
.form__newsletter button[type=submit].btn--bold:hover::after {
  width: 100%;
}

.gauge__container {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  top: calc(var(--spacing) * 0.25);
  padding: 0 calc(var(--spacing) * 0.5);
}

#gauge {
  --gauge-h: 12px;
  width: 100%;
  margin-bottom: calc(var(--spacing) * 0.25);
  height: var(--gauge-h);
  border-radius: calc(var(--gauge-h) * 0.5);
  background-color: var(--color-bg);
  border: 1px solid var(--color-txt);
  position: relative;
  box-shadow: 7px 6px 5px -3px rgba(0, 0, 0, 0.14);
}
#gauge::before {
  content: "";
  display: block;
  height: calc(var(--gauge-h) - 2px);
  border-radius: calc(var(--gauge-h) * 0.5);
  width: var(--pourcent);
  min-width: 20px;
  background-color: var(--color-accent);
  position: absolute;
  top: 0px;
  left: 0px;
  transition: width cubic-bezier(0.86, 0, 0.07, 1) 1s;
}

.gauge--infos .property {
  font-size: var(--fs-small);
  padding-bottom: 3px;
}
.gauge--infos .value {
  font-size: var(--fs-small);
}
.gauge--infos:last-of-type {
  text-align: right;
}

#gauge--infos__donors {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#gauge--infos__donors .value {
  font-weight: bold;
  display: inline;
}
#gauge--infos__donors .property {
  display: inline;
  padding-bottom: 0;
}

@media screen and (min-width: 720px) {
  #gauge {
    --gauge-h: 18px;
    border: 2px solid var(--color-txt);
  }
  #gauge::before {
    height: calc(var(--gauge-h) - 4px);
  }
  .gauge--infos .property {
    font-size: var(--fs-small);
  }
  .gauge--infos .value {
    font-size: var(--fs-normal);
  }
}
[data-template=subscription-newsletter] .p__baseline-big,
[data-template=thanks] .p__baseline-big,
[data-template=support] .p__baseline-big,
[data-template=home] .p__baseline-big {
  font-family: var(--title);
  font-size: var(--fs-big);
  font-weight: var(--fw-bold);
  line-height: 1.1;
  text-align: center;
  margin: calc(var(--spacing) * 1) 0;
}
[data-template=subscription-newsletter] .p__baseline-big strong,
[data-template=thanks] .p__baseline-big strong,
[data-template=support] .p__baseline-big strong,
[data-template=home] .p__baseline-big strong {
  font-weight: var(--fw-bolf);
  color: var(--color-accent);
}
[data-template=subscription-newsletter] .p__baseline-big .link-don,
[data-template=thanks] .p__baseline-big .link-don,
[data-template=support] .p__baseline-big .link-don,
[data-template=home] .p__baseline-big .link-don {
  display: block;
  color: var(--color-accent);
  text-decoration: none;
}
[data-template=subscription-newsletter] .p__baseline-big .link-don:hover,
[data-template=thanks] .p__baseline-big .link-don:hover,
[data-template=support] .p__baseline-big .link-don:hover,
[data-template=home] .p__baseline-big .link-don:hover {
  -webkit-text-decoration: underline 2px;
          text-decoration: underline 2px;
  text-underline-offset: 4px;
}
[data-template=subscription-newsletter] .p__baseline,
[data-template=thanks] .p__baseline,
[data-template=support] .p__baseline,
[data-template=home] .p__baseline {
  font-size: var(--fs-medium);
  font-weight: var(--fw-medium);
  line-height: 1.1;
  text-align: center;
  margin: calc(var(--spacing) * 1) 0;
}
@media screen and (max-width: 720px) {
  [data-template=subscription-newsletter] .p__baseline,
  [data-template=thanks] .p__baseline,
  [data-template=support] .p__baseline,
  [data-template=home] .p__baseline {
    text-align: center;
    margin: var(--spacing) 0;
  }
}
[data-template=subscription-newsletter] .p__details,
[data-template=thanks] .p__details,
[data-template=support] .p__details,
[data-template=home] .p__details {
  font-size: var(--fs-small);
  margin-bottom: 0.5em;
  color: var(--grey-400);
}
[data-template=subscription-newsletter] .section__heading,
[data-template=thanks] .section__heading,
[data-template=support] .section__heading,
[data-template=home] .section__heading {
  font-size: var(--fs-normal);
  font-weight: var(--fw-medium);
  line-height: 1;
  text-align: center;
  margin-top: calc(var(--spacing) * 0.5);
  margin-bottom: calc(var(--spacing) * 1);
}
[data-template=subscription-newsletter] ul,
[data-template=subscription-newsletter] ol,
[data-template=thanks] ul,
[data-template=thanks] ol,
[data-template=support] ul,
[data-template=support] ol,
[data-template=home] ul,
[data-template=home] ol {
  margin-left: 3ch;
  margin-bottom: 0.5em;
}

.section__product .details > p,
.section__product .details > ul {
  margin-bottom: 1rem;
}

@keyframes add-border {
  from {
    border-bottom-color: transparent;
  }
  to {
    border-bottom: var(--grey-800);
  }
}
#site-header {
  position: fixed;
  left: var(--padding-body);
  top: 0px;
  z-index: 900;
  width: calc(100vw - var(--padding-body) * 2);
  height: var(--header-h);
  background-color: var(--color-bg);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#site-header.is-shrinked {
  height: var(--header-h-shrinked);
  border-bottom: var(--border-light);
}
#site-header .site-title {
  display: flex;
  width: 120px;
  transition: all ease-in 0.2s;
  overflow: hidden;
}
#site-header .site-title svg {
  fill: var(--color-txt);
}
#site-header.is-shrinked .site-title {
  width: 80px !important;
}
#site-header .header-left {
  width: 90px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#site-header .header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
#site-header .header-center {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#site-header #toggle-lang {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  gap: 0.75ch;
  text-transform: uppercase;
  color: var(--grey-400);
  line-height: 1;
  margin: 0;
  padding: 0;
}
#site-header #toggle-lang a {
  text-decoration: none;
}
#site-header #toggle-lang li.is-selected {
  color: var(--color-txt);
}
#site-header .header-cart-btn {
  font-family: var(--font);
  background: none;
  border: none;
  cursor: pointer;
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--color-txt);
  padding: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  transition: opacity 0.2s;
}
#site-header .header-cart-btn:hover {
  opacity: 0.7;
}
#site-header .header-cart-count {
  font-weight: normal;
}
#site-header .header-cart-count:empty {
  display: none;
}
#site-header .header-cart-count:not(:empty)::before {
  content: "(";
}
#site-header .header-cart-count:not(:empty)::after {
  content: ")";
}

#site-footer {
  background-color: black;
  width: 100vw;
  position: relative;
  left: calc(var(--padding-body) * -1);
  height: calc(var(--spacing) * 2);
  display: flex;
  align-items: center;
  justify-content: center;
}
#site-footer a {
  text-decoration: none;
}
#site-footer a:hover {
  text-decoration: underline;
}
#site-footer .p__small {
  font-size: var(--fs-x-small);
  text-align: center;
}

[data-template=support] section {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  padding-bottom: calc(var(--spacing) * 0.75);
  margin-bottom: calc(var(--spacing) * 0.75);
  border-bottom: var(--border-light);
}
[data-template=support] #section__hero {
  margin-top: calc(var(--spacing) * 1);
  display: block;
}
[data-template=support] #section__questions {
  border-bottom: none;
}
[data-template=support] #section__donation:target {
  padding-top: calc(var(--header-h) * 1.25);
}
[data-template=support] #section__video {
  display: flex;
  flex-direction: column;
  align-items: center;
}
[data-template=support] #section__video .video-container {
  display: flex;
}
[data-template=support] #section__video video {
  width: 100%;
  border: 1px solid var(--grey-800);
  max-height: 90vh;
  display: flex;
}
@media screen and (min-width: 1080px) {
  [data-template=support] main {
    display: grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: repeat(4, auto);
    max-width: 1200px;
    margin: 0 auto;
    padding-bottom: 0;
  }
  [data-template=support] #section__donation {
    padding-top: calc(var(--spacing) * 1);
  }
  [data-template=support] #section__donation,
  [data-template=support] #section__comments {
    border: none;
  }
  [data-template=support] #section__baseline {
    padding: calc(var(--spacing) * 0.5) 0;
  }
  [data-template=support] .gauge__container {
    padding-top: calc(var(--spacing) * 1);
  }
  [data-template=support] .col-left,
  [data-template=support] .col-right {
    padding-top: calc(var(--spacing) * 1);
  }
  [data-template=support] .col-left {
    grid-column: 1;
    grid-row: 1/5;
  }
  [data-template=support] .col-right {
    position: sticky;
    top: calc(var(--spacing) * 2.5);
    grid-column: 2;
    grid-row: 1;
    overflow: hidden;
  }
}
@media screen and (max-width: 1080px) {
  [data-template=support] main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    max-width: 600px;
    margin: 0 auto;
  }
  [data-template=support] section {
    width: 100%;
  }
  [data-template=support] .col-left,
  [data-template=support] .col-right {
    display: contents;
  }
  [data-template=support] #section__hero {
    order: 1;
  }
  [data-template=support] #section__donation {
    order: 2;
  }
  [data-template=support] #section__baseline {
    order: 3;
  }
  [data-template=support] #section__video {
    order: 4;
  }
  [data-template=support] #section__comments {
    order: 5;
  }
  [data-template=support] #section__questions {
    order: 6;
  }
}
@media screen and (max-height: 670px) and (min-width: 1080px) {
  [data-template=support] .col-left,
  [data-template=support] .col-right {
    display: contents;
  }
  [data-template=support] section {
    width: 100%;
  }
  [data-template=support] #section__donation {
    grid-row: 1;
    grid-column: 2;
    position: sticky;
    top: calc(var(--spacing) * 3.75);
  }
  [data-template=support] #section__hero {
    grid-row: 1;
    grid-column: 1;
  }
  [data-template=support] #section__baseline {
    grid-row: 2;
    grid-column: 1;
  }
  [data-template=support] #section__video {
    grid-row: 3;
    grid-column: 1;
  }
  [data-template=support] #section__comments {
    grid-row: 4;
    grid-column: 1;
    border-bottom: var(--border-light);
  }
  [data-template=support] #section__questions {
    grid-row: 5;
    grid-column: 1;
  }
}

#section__donation {
  display: flex;
  align-items: center;
}
#section__donation .btn--donation__container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: calc(var(--padding-body) * 0.75);
  display: none;
}
@media screen and (min-width: 1080px) {
  #section__donation .btn--donation__container {
    width: 420px;
  }
}
@media screen and (max-width: 1080px) {
  #section__donation .btn--donation__container {
    width: 100%;
    max-width: 420px;
  }
}
#section__donation .btn--donation__container .btn--donation__grow-2 {
  grid-column: span 2;
}
#section__donation .btn--donation__container.is-selected {
  display: grid;
}
#section__donation .btn--donation {
  background-color: var(--color-txt);
  color: var(--color-bg);
  border-radius: var(--radius-small);
  height: calc(var(--h-block) * 2);
}
#section__donation .btn--donation .bold {
  font-family: var(--title);
  font-size: var(--fs-medium);
  font-weight: var(--fw-bold);
  margin-bottom: 0.25em;
}
#section__donation .btn--donation .small {
  font-family: var(--font);
  font-weight: var(--fw-medium);
  font-size: var(--fs-small);
}
#section__donation .btn--donation:hover {
  outline: 4px solid var(--color-accent);
  cursor: pointer;
}

.comment__text {
  font-size: var(--fs-medium);
  font-weight: var(--fw-medium);
  line-height: var(--leading-tight);
  line-height: 1.1;
  max-width: 28ch;
  text-align: center;
}

.comment__name {
  margin-top: calc(var(--spacing) * 0.5);
  text-align: center;
}

.swiper {
  width: 100%;
  max-width: 700px;
  height: auto;
  position: relative;
  padding-bottom: 40px; /* espace réservé pour les dots */
}
.swiper .swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.swiper .comments-slider__dots {
  position: absolute;
  bottom: 10px; /* espace du bas */
  left: 0;
  width: 100%;
  text-align: center;
}
.swiper .comments-slider__dots .swiper-pagination-bullet {
  background-color: var(--grey-600);
  opacity: 1;
}
.swiper .comments-slider__dots .swiper-pagination-bullet-active {
  background-color: var(--color-txt);
  opacity: 1;
}

#section__questions {
  max-width: 700px;
}
#section__questions summary::marker {
  content: "";
  display: none;
}
#section__questions summary::-webkit-details-marker {
  content: "";
  display: none;
}
#section__questions details {
  border-bottom: var(--border);
}
#section__questions details:first-of-type {
  border-top: var(--border);
}
#section__questions details summary {
  padding-top: calc(var(--spacing) * 0.25 + 2px);
  padding-bottom: calc(var(--spacing) * 0.25);
  cursor: pointer;
  position: relative;
  padding-right: 2ch;
}
#section__questions details[open] summary::after {
  content: "✕";
  position: absolute;
  right: 0;
}
#section__questions details p {
  margin: calc(var(--spacing) * 0.5) 0;
}
#section__questions details ul, #section__questions details ol {
  margin-bottom: calc(var(--spacing) * 0.5);
}

#section__video {
  margin-bottom: calc(var(--spacing) * 2);
}
#section__video .btn__deploy {
  margin-top: calc(var(--spacing) * 1);
  --size: var(--h-block);
  font-family: var(--font);
  font-size: var(--fs-small);
  font-weight: var(--fw-normal);
  line-height: 1;
  border: var(--border-light);
  height: var(--size);
  border-radius: calc(var(--size) / 2);
  padding-left: 1.5ch;
  padding-right: 2ch;
  padding-top: 1px;
  position: relative;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 1ch;
  font-weight: var(--fw-medium);
  text-decoration: none;
  cursor: pointer;
}
#section__video .btn__deploy svg {
  fill: var(--color-txt);
  width: 10px;
  position: relative;
  top: 1px;
  left: 1px;
}
#section__video .videos__ul {
  list-style: none;
  width: 100%;
  margin-top: calc(var(--spacing) * 1);
  display: none;
}
#section__video .videos__ul .videos__li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1ch;
  margin-bottom: calc(var(--spacing) * 0.5);
  cursor: pointer;
}
#section__video .videos__ul .videos__li .icon {
  --size: 20px;
  width: var(--size);
  height: var(--size);
  border-radius: calc(var(--size) / 2);
  border: var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
}
#section__video .videos__ul .videos__li svg {
  fill: var(--color-txt);
  width: 7px;
}
#section__video #videos__input {
  display: none;
}
#section__video #videos__input:checked ~ .videos__ul {
  display: block;
}

#video__fullscreen {
  width: 100vw;
  height: 100vh;
  background-color: var(--color-bg);
  padding: var(--padding-body);
  position: fixed;
  top: 0px;
  left: 0;
  z-index: 3000;
}
#video__fullscreen iframe {
  width: 90%;
  height: 100%;
  border: var(--border);
}
#video__fullscreen #video__close {
  height: 10%;
  font-size: 20px;
  width: 100%;
  font-weight: bold;
  display: flex;
  align-items: top;
  justify-content: flex-end;
}

body.is-fullscreen {
  overflow: hidden;
}

[data-template=home] .p__baseline-big {
  margin-top: calc(var(--spacing) * 2);
}
[data-template=home] #store__container {
  margin-top: calc(var(--spacing) * 2);
  margin-bottom: calc(var(--spacing) * 4);
  width: 100%;
  max-width: 1000px;
}
[data-template=home] #store__container .store__product {
  position: relative;
}
[data-template=home] #store__container .store__product figure {
  aspect-ratio: 4/3;
  background-color: var(--color-bg);
  background-color: var(--data-bg);
  margin-bottom: calc(var(--spacing) * 0.5);
  overflow: hidden;
}
[data-template=home] #store__container .store__product img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transition: var(--curve) 0.5s;
}
[data-template=home] #store__container .store__product a {
  text-decoration: none;
}
[data-template=home] #store__container .store__product .link-block {
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
[data-template=home] #store__container .store__product:hover figure {
  overflow: hidden;
}
[data-template=home] #store__container .store__product:hover img {
  transform: scale(1.05);
}
[data-template=home] #store__container .store__product:hover .line-1 {
  text-decoration: underline;
}
@media screen and (max-width: 720px) {
  [data-template=home] #store__container .store__product {
    margin-top: calc(var(--spacing) * 1.5);
    margin-bottom: calc(var(--spacing) * 0.5);
  }
}
@media screen and (min-width: 720px) {
  [data-template=home] #store__container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    -moz-column-gap: calc(var(--padding-body) * 0.75);
         column-gap: calc(var(--padding-body) * 0.75);
    row-gap: calc(var(--spacing) * 2);
    margin-left: auto;
    margin-right: auto;
  }
  [data-template=home] #store__container .store__product {
    grid-column: span 2;
  }
  [data-template=home] #store__container .store__product:nth-of-type(1),
  [data-template=home] #store__container .store__product:nth-of-type(2) {
    grid-column: span 3;
  }
}

.section__product,
.store__nav {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.product-content {
  display: contents;
}

.store__nav {
  padding-top: calc(var(--spacing) * 1);
  padding-bottom: calc(var(--spacing) * 0.5);
  color: var(--color-txt-light);
  font-size: var(--fs-small);
}
.store__nav a {
  text-decoration: none;
}
.store__nav a::before {
  content: "← ";
}
.store__nav a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 720px) {
  .store__nav a {
    padding-top: 0;
    font-size: var(--fs-small);
  }
}

.section__product .details ul {
  margin-left: 2ch;
}
.section__product .details ul li {
  padding-bottom: 0.2em;
}
@media screen and (max-width: 720px) {
  .section__product {
    display: flex;
    flex-direction: column;
    margin-bottom: 10vh;
  }
  .section__product .col-left {
    display: contents;
  }
  .section__product .hero {
    margin-top: calc(var(--spacing) * 0.5);
    order: 1;
  }
  .section__product figure {
    order: 2;
    margin-bottom: calc(var(--spacing) * 1);
  }
  .section__product .details {
    order: 3;
    margin-bottom: calc(var(--spacing) * 1.5);
  }
  .section__product .product-options {
    border-top: var(--border-light);
    order: 4;
  }
  .section__product .add-to-cart {
    order: 5;
  }
  .section__product .product-gallery {
    width: 100vw;
    position: relative;
    left: calc(var(--padding-body) * -1);
  }
  .section__product .product-gallery .swiper-button-prev,
  .section__product .product-gallery .swiper-button-next {
    display: none;
  }
}
@media screen and (min-width: 720px) {
  .section__product .product-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: calc(var(--padding-body) * 2);
    margin-bottom: calc(var(--spacing) * 3);
  }
  .section__product .details {
    margin-bottom: calc(var(--spacing) * 2);
    flex-grow: 1;
  }
  .section__product .product-options {
    border-top: var(--border-light);
  }
  .section__product .col-left {
    min-height: 100%;
    padding-bottom: 40px;
    display: flex;
    flex-direction: column;
  }
}

.product-options {
  border-bottom: var(--border-light);
  padding: calc(var(--spacing) * 0.25) 0;
}

.product-options__list {
  list-style: none;
  display: flex;
  gap: 2ch;
}
.product-options__list li {
  position: relative;
}
.product-options__list li input[type=radio] {
  position: fixed;
  opacity: 0;
  pointer-events: none;
}
.product-options__list li input[type=radio]:checked + label {
  border-color: var(--color-txt);
}
.product-options__list li input[type=radio]:not(:checked) + label:hover {
  border-color: var(--grey-600);
  background-color: var(--grey-800);
}
.product-options__list li label {
  font-family: var(--title);
  font-size: var(--fs-normal);
  height: 4ch;
  width: 4ch;
  border-radius: 50%;
  border: var(--border);
  border-color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0px;
  cursor: pointer;
}

.product-gallery {
  position: relative;
  aspect-ratio: 4/3;
}
.product-gallery .swiper-slide {
  width: 100%;
}
.product-gallery .swiper-slide figure {
  aspect-ratio: 4/3;
  width: 100%;
  height: 100%;
}
.product-gallery .swiper-slide figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 720px) {
  .product-gallery .swiper-slide figure {
    width: calc(100% - 60px);
  }
}
.product-gallery .swiper-button-prev,
.product-gallery .swiper-button-next {
  color: var(--color-txt);
  width: 20px;
  height: 20px;
}
.product-gallery .swiper-button-prev:after,
.product-gallery .swiper-button-next:after {
  font-size: 20px;
  font-weight: bold;
}
.product-gallery .swiper-button-prev:hover,
.product-gallery .swiper-button-next:hover {
  opacity: 0.7;
}
.product-gallery .swiper-pagination {
  position: relative;
  margin-top: calc(var(--spacing) * 0.5);
  bottom: 0;
}
.product-gallery .swiper-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: var(--grey-600);
  opacity: 0.5;
  transition: opacity 0.3s;
}
.product-gallery .swiper-pagination .swiper-pagination-bullet:hover {
  opacity: 0.7;
}
.product-gallery .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--color-txt);
  opacity: 1;
}

.hero {
  margin-bottom: calc(var(--spacing) * 1);
  padding: calc(var(--spacing) * 0.5) 0;
  border-top: var(--border-light);
  border-bottom: var(--border-light);
}
.hero .p__baseline-big {
  margin: 0;
  text-align: left;
}

.add-to-cart {
  margin: 0;
  border-bottom: var(--border-light);
  padding: calc(var(--spacing) * 0.5) 0;
}

[data-template=thanks] .thanks-page {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(var(--spacing) * 4) var(--spacing);
}
[data-template=thanks] .thanks-page .thanks-content {
  text-align: center;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
[data-template=thanks] .thanks-page .thanks-content h1 {
  margin-bottom: calc(var(--spacing) * 2);
}
[data-template=thanks] .thanks-page .thanks-content .thanks-message {
  font-size: var(--fs-medium);
  line-height: 1.1;
}
[data-template=thanks] .thanks-page .thanks-content .thanks-message p {
  margin-bottom: var(--spacing);
}
[data-template=thanks] .thanks-page .thanks-content .thanks-actions {
  width: -moz-max-content;
  width: max-content;
}
[data-template=thanks] #site-footer {
  border-top: none;
  margin-top: calc(var(--spacing) * 4);
}

.product-purchase {
  margin-top: 2rem;
}

.product-stock-info {
  margin-bottom: 1rem;
}

.stock-status {
  font-size: 0.9rem;
  font-weight: 600;
  margin: 0;
}

.stock-status.in-stock {
  color: #00cc00;
}

.stock-status.low-stock {
  color: #ff9900;
}

.stock-status.out-of-stock {
  color: #ff3333;
}

.btn-add-to-cart {
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  font-size: 1rem;
  color: #000000;
  background-color: #00ff00;
  border: none;
  border-radius: 40px;
  padding: 12px 34px;
  cursor: pointer;
  transition: background-color 0.3s ease;
  width: 100%;
  max-width: 300px;
}

.btn-add-to-cart:hover:not(:disabled) {
  background-color: #00e600;
}

.btn-add-to-cart:focus {
  outline: 2px solid #00e600;
  outline-offset: 2px;
}

.btn-add-to-cart:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.btn-add-to-cart.success {
  background-color: #00cc00;
}

.btn-add-to-cart.error {
  background-color: #ff3333;
  color: #ffffff;
}

.btn-add-to-cart.out-of-stock {
  background-color: #cccccc;
  color: #666666;
}

/* Cart Drawer Styles */
.cart-drawer {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  color: #000;
}
.cart-drawer.is-open {
  pointer-events: auto;
  opacity: 1;
}
.cart-drawer.is-open .cart-drawer__panel {
  transform: translateX(0);
}
.cart-drawer__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
.cart-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 420px;
  background-color: #ffffff;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
@media (max-width: 768px) {
  .cart-drawer__panel {
    max-width: 100%;
  }
}
.cart-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem;
  border-bottom: 1px solid #e0e0e0;
}
.cart-drawer__header h3 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
}
.cart-drawer__close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s;
}
.cart-drawer__close:hover {
  opacity: 0.7;
}
.cart-drawer__close svg {
  stroke: #000;
}
.cart-drawer__content {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
}
.cart-drawer__content.is-loading {
  opacity: 0.5;
  pointer-events: none;
}
.cart-drawer__empty {
  text-align: center;
  padding: 3rem 1rem;
  color: #666;
}
.cart-drawer__empty.hidden {
  display: none;
}
.cart-drawer__items {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cart-drawer__items.hidden {
  display: none;
}
.cart-drawer__footer {
  border-top: 1px solid #e0e0e0;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.cart-drawer__total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.125rem;
  font-weight: bold;
}
.cart-drawer__total-label {
  color: #000;
}
.cart-drawer__total-amount {
  color: #000;
  font-size: 1.25rem;
}
.cart-drawer__checkout-btn {
  width: 100%;
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  font-size: 1rem;
  color: #000000;
  background-color: #00ff00;
  border: none;
  border-radius: 40px;
  padding: 14px 34px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.cart-drawer__checkout-btn:hover:not(:disabled) {
  background-color: #00e600;
}
.cart-drawer__checkout-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.cart-item {
  display: flex;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
}
.cart-item__image {
  width: 80px;
  height: 80px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  flex-shrink: 0;
}
.cart-item__details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.cart-item__title {
  font-weight: 600;
  margin: 0;
  font-size: 1rem;
}
.cart-item__variant {
  font-size: 0.875rem;
  color: #666;
  margin: 0;
}
.cart-item__price {
  font-weight: bold;
  color: #000;
}
.cart-item__quantity {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: auto;
}
.cart-item__qty-btn {
  width: 28px;
  height: 28px;
  border: 1px solid #000;
  background: #fff;
  color: #000;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  font-weight: bold;
  transition: all 0.2s;
}
.cart-item__qty-btn:hover:not(:disabled) {
  background-color: #000;
  color: #fff;
}
.cart-item__qty-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.cart-item__qty-value {
  min-width: 30px;
  text-align: center;
  font-weight: 600;
}
.cart-item__remove {
  background: none;
  border: none;
  color: #ff3333;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  text-decoration: underline;
  align-self: flex-start;
}
.cart-item__remove:hover {
  color: #cc0000;
}

[data-template=subscription-newsletter] main {
  margin-top: calc(var(--spacing) * 2);
}
[data-template=subscription-newsletter] #form__newsletter__container {
  max-width: 700px;
  margin: calc(var(--spacing) * 3) auto;
  margin-bottom: calc(var(--spacing) * 4);
}
[data-template=subscription-newsletter] #form__newsletter__container .form__newsletter {
  margin: calc(var(--spacing) * 1) 0;
}
[data-template=subscription-newsletter] #form__newsletter__container .form__newsletter input[type=email] {
  height: calc(var(--h-block) * 1.75);
  border-radius: calc(var(--h-block) * 0.875);
  font-size: var(--fs-medium);
}
[data-template=subscription-newsletter] #form__newsletter__container .form__newsletter input[type=email]::-moz-placeholder {
  font-size: var(--fs-medium);
}
[data-template=subscription-newsletter] #form__newsletter__container .form__newsletter input[type=email]::placeholder {
  font-size: var(--fs-medium);
}
[data-template=subscription-newsletter] #form__newsletter__container .form__newsletter button[type=submit].btn--bold {
  --size: calc(var(--h-block)*1.75 - 4px);
}
[data-template=subscription-newsletter] #form__newsletter__container .form__newsletter button[type=submit].btn--bold .icon svg {
  width: 28px;
}
[data-template=subscription-newsletter] #form__newsletter__container .form__newsletter .txt {
  padding-left: 2ch;
}
[data-template=subscription-newsletter] #form__newsletter__container .p__baseline {
  max-width: 52ch;
  text-align: left;
}
[data-template=subscription-newsletter] #form__newsletter__container .p__details {
  color: var(--color-txt);
  max-width: 80ch;
}
[data-template=subscription-newsletter] #site-footer {
  margin-top: calc(var(--spacing) * 4);
  padding-top: 0px;
}/*# sourceMappingURL=style.css.map */