:root {
  --specialColor1: #1d333e; /*blu*/
  --specialColor2: #e2001a; /*rosso*/

  --swiper-theme-color: var(--specialColor2);
}

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

img {
  display: block;
  max-width: 100%;
  width: revert;
  height: revert;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  font: inherit;
  color: inherit;
}

ul,
ol {
  list-style: none;
}

body {
  display: flex;
  flex-direction: column;

  min-height: 100vh;
  overflow-x: hidden;

  font-family: museo-slab, serif;
  font-size: 14px;
  font-weight: 400;
  color: var(--specialColor1);
  accent-color: var(--specialColor1);
}

.rt-main-container,
.header,
.bottom,
.cta {
  width: 90%;
  max-width: 1700px;
  margin-inline: auto;
}

.rt-top-area .rt-main-container,
.cta {
  max-width: 1250px;
}

.rt-btn {
  display: inline-flex;

  padding: 1em 1.75em;

  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;

  cursor: pointer;
}

.rt-btn--primary {
  background-color: var(--specialColor2);
  border: 1px solid var(--specialColor2);
  color: #fff;
}

.rt-btn--secondary {
  background-color: #fff;
  border: 1px solid #fff;
  color: var(--specialColor1);
}

/* accordion */
.rt-accordion {
  --rt-accordion-trigger-padding: 0 0 1em;
  --rt-accordion-panel-padding: 1em 0;
  --rt-accordion-border-bottom: 1px solid #bac1c4;
  --rt-accordion-width-icon: 16px;
  --rt-accordion-focus-color: var(--specialColor1);
  --rt-accordion-border-radius: 0;
}
.rt-accordion {
  color: #636364;
  border-radius: var(--rt-accordion-border-radius);
}
.rt-accordion:has(:focus-visible) {
  outline: 3px solid var(--rt-accordion-focus-color);
  outline-offset: 0px;
}
.rt-accordion .rt-accordion-trigger {
  width: 100%;
  background-color: transparent;
  border: none;
  padding: var(--rt-accordion-trigger-padding);
  border-bottom: var(--rt-accordion-border-bottom);
  text-align: start;
}
.rt-accordion .rt-accordion-trigger:focus {
  outline: none;
}
.rt-accordion .rt-accordion-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1em;
  border-radius: var(--rt-accordion-border-radius);
}
.rt-accordion-trigger .rt-accordion-title::after {
  content: "";
  background-image: url(/img/icon/minus-scheda.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  aspect-ratio: 1;
}

.rt-accordion-trigger[aria-expanded="false"] .rt-accordion-title::after {
  background-image: url(/img/icon/plus-scheda.svg);
}

.rt-accordion .rt-accordion-icon {
  width: var(--rt-accordion-width-icon);
}
.rt-accordion .rt-accordion-trigger[aria-expanded="true"] .rt-accordion-icon {
  rotate: 0.5turn;
}
.rt-accordion .rt-accordion-panel {
  padding: var(--rt-accordion-panel-padding);
}
@media (max-width: 991px) {
  .rt-accordion-trigger {
    cursor: pointer;
  }
}

@media (min-width: 991px) {
  .rt-accordion {
    --rt-accordion-trigger-padding: 0;
    --rt-accordion-panel-padding: 0;
    --rt-accordion-border-bottom: none;
  }

  .rt-accordion-title::after {
    display: none;
  }

  .rt-accordion-panel {
    display: block !important;
  }
}

.rt-accordion h2 {
  margin-bottom: 0.5em;

  color: var(--specialColor1);
  font-size: 14px;
  font-weight: 900;
}

/* header */
.header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1em;

  padding-block: 1em;

  font-size: 12px;
}

.storelocatorName {
  display: none;
}

.homeBtn {
  justify-self: end;
}

.logo {
  width: 65px;
}

/* top area */
.rt-top-area {
  padding-block: 1em 4em;
}

@media (min-width: 991px) {
  .rt-top-area {
    padding-block: 2em 5em;
  }
}

.rt-top-area .rt-main-container {
  display: grid;
  align-items: start;
  gap: 3em;
}

@media (min-width: 991px) {
  .rt-product-info {
    grid-area: product-info;
  }
  .rt-product-image {
    grid-area: product-image;
  }
  .rt-store-info {
    grid-area: store-info;
  }

  .rt-top-area .rt-main-container {
    grid-template-columns: 1fr 1.5fr;
    grid-template-areas:
      "product-image store-info"
      "product-info product-info";
  }
}

@media (min-width: 1400px) {
  .rt-top-area .rt-main-container {
    grid-template-areas:
      "product-image store-info"
      "product-image product-info";
    grid-auto-rows: auto 1fr;
  }
}

.rt-product-image img {
  width: 100%;
  border: 1px solid #cecfd0;
}

@media (max-width: 991px) {
  .rt-product-image {
    width: min(450px, 100%);
    margin-inline: auto;
  }
}

@media (max-width: 991px) {
  .rt-product-info {
    text-align: center;
  }
}

.rt-product-info__name {
  margin-bottom: 0.5em;

  font-size: 24px;
  font-weight: 900;
  line-height: 1.2;
}

@media (min-width: 991px) {
  .rt-product-info__name {
    font-size: 33px;
  }
}

.rt-product-info__weight {
  display: block;
  margin-bottom: 1em;

  font-size: 20px;
  font-weight: 300;
}

.rt-product-info__description {
  line-height: 1.8;
}

.rt-store-info {
  display: grid;
  row-gap: 2em;

  line-height: 1.8;
}

@media (max-width: 991px) {
  .rt-store-info__geo {
    padding: 2em;
    background-color: #f4f2f4;

    text-align: center;
  }
}

@media (min-width: 991px) {
  .rt-store-info {
    padding: 3em;
    background-color: #f4f2f4;
  }
}

@media (min-width: 1400px) {
  .rt-store-info {
    grid-template-columns: repeat(2, 1fr);
    --_padding: 2em;
  }

  .rt-store-info__geo {
    padding-right: var(--_padding);
    border-right: 1px solid #d8d8d8;
  }
  .rt-store-info__hours {
    padding-left: var(--_padding);
  }
}

.rt-next-opening {
  display: inline-block;

  margin-bottom: 1em;
  padding: 0.5em 1em;
  background-color: #fff;
  border: 1px solid currentColor;

  font-size: 10px;
  color: var(--specialColor1);
}

.rt-store-info__name {
  margin-bottom: 1em;

  font-size: 18px;
  font-weight: 900;
  line-height: 1.3;
}

.rt-store-info__name + div {
  margin-bottom: 2em;

  color: #636364;
}

@media (max-width: 991px) {
  .rt-store-info__name + div {
    justify-items: center;
  }
}

.rt-store-info__geo a {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
}

.rt-store-info__hours-today {
  font-weight: 700;
}

.rt-dayname {
  margin-right: 0.5em;
}

.rt-special-hours {
  margin-top: 2em;
}
/* campaigns */
.cta {
  --_gap: 2em;

  display: grid;
  grid-template-columns: 100%;
  gap: 4em;

  margin-block: 3em;
}

@media (min-width: 991px) {
  .cta {
    padding-block: 4em;
  }
}

.CtaCorte,
.ctaFotoPiccole {
  display: grid;
  grid-template-columns: 100%;
  gap: var(--_gap);
}

@media (min-width: 991px) {
  .CtaCorte,
  .ctaFotoPiccole {
    grid-template-columns: repeat(2, calc(50% - var(--_gap) / 2));
  }

  .cta {
    --_margin-bottom: 20px;
  }

  .cta .swiper-container {
    padding-bottom: var(--_margin-bottom);
  }

  .imgCTA {
    margin-bottom: var(--_margin-bottom);
  }
}

.cta img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cta .swiper-pagination {
  bottom: -4px;
}

@media (max-width: 991px) {
  .cta .swiper-pagination {
    position: static;
    margin-top: 10px;
  }
}

.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
}

:is(.ctaSwiper, .imgCTA, .ctaSingola) :is(h3, h4) {
  font-size: 25px;
  font-weight: 900;
}

:is(.ctaSwiper, .imgCTA, .ctaSingola) p {
  margin-block: 2em;
  font-size: 14px;
}

:is(.ctaSwiper, .imgCTA, .ctaSingola) button {
  display: inline-flex;

  padding: 1em 1.75em;

  font-size: 12px;
  font-weight: 900;
  text-decoration: none;

  cursor: pointer;
}

:is(.imgCTA, .ctaSingola) button {
  background-color: var(--specialColor2);
  border: 1px solid var(--specialColor2);
  color: #fff;
}

.ctaSwiper button {
  background-color: var(--specialColor1);
  border: 1px solid var(--specialColor1);
  color: #fff;
}

.swiperText,
.text {
  padding: 2em;
}

.text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: start;
}

.swiperText {
  border: 1px solid var(--specialColor1);
  border-top: none;

  text-align: center;
}

.imgCTA,
.ctaSingola {
  display: grid;
  background-color: var(--specialColor1);
  color: #fff;
}

@media (min-width: 768px) {
  .ctaSingola:has(.text) {
    grid-template-columns: 2fr 1fr;
  }
}

@media (min-width: 991px) {
  :is(.ctaSwiper, .imgCTA, .ctaSingola) :is(h3, h4) {
    font-size: 33px;
  }

  :is(.ctaSwiper, .imgCTA, .ctaSingola) p {
    font-size: 16px;
  }
}
/* showcase */
.rt-showcase {
  padding-block: 40px;
  background-color: #f4f2f4;
}

.rt-showcase__heading {
  margin-bottom: 40px;

  font-size: 20px;
  font-weight: 900;
  text-align: center;
  color: var(--specialColor2);
}

.rt-showcase .swiper {
  position: relative;
  overflow-x: hidden;
}

.rt-showcase .swiper-scrollbar.swiper-scrollbar {
  position: static;

  height: 4px;
  margin-top: 50px;
  background-color: #d8d8d8;
}

.rt-showcase .swiper-scrollbar-drag {
  background-color: #1d333e;
}

.rt-showcase .swiper-slide {
  max-width: 300px;
  height: revert;
}

.rt-showcase__product {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;

  text-align: center;
}

.rt-showcase__product-image {
  margin-bottom: 32px;
  width: 100%;
}

.rt-showcase__product-title {
  margin-bottom: 24px;

  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}

.rt-showcase__product-link {
  margin-top: auto;
}

@media (min-width: 991px) {
  .rt-showcase {
    padding-block: 70px;
  }

  .rt-showcase__heading {
    margin-bottom: 70px;
  }
}

/* bottom */
.bottom {
  margin-top: auto;

  padding-block: 2em;
  color: #000;
  font-size: 11px;
}

.powered {
  font-family: Arial, Helvetica, sans-serif;
  text-align: end;
}

.powered span {
  color: #f0ad4e;
}
