/* custom fonts */
@font-face {
  font-family: 'TikiIsland';
  src: url('fonts/TikiIsland.woff2') format('woff2'),
       url('fonts/TikiIsland.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'CCDigitalDelivery';
  src: url('fonts/CCDigitalDelivery.woff2') format('woff2'),
       url('fonts/CCDigitalDelivery.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

/* custom fonts styles */
body {
  font-family: 'TikiIsland', Arial, sans-serif;
}

.calculator h1, .collapsible {
  font-family: 'TikiIsland', Arial, sans-serif;
}

.item label {
  font-family: 'CCDigitalDelivery', Arial, sans-serif;
}

/* now for the actual designer part */

/* begone default */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* main shit */
body {
  font-family: 'TikiIsland', Arial, sans-serif;
  background-image: url('https://images.squarespace-cdn.com/content/v1/5737ad2a1d07c093e2787063/1673742874230-1Z0B78H2HHZZ9T44491B/infinite%2Bpattern.png?format=1000w');
  background-size: cover;
  background-position: repeat-x;
  background-attachment: fixed;
  color: #333;
}

/* calculator swag */
.calculator {
  max-width: 800px;
  margin: 50px auto;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.calculator h1 {
  text-align: center;
  font-size: 3em;
  margin-bottom: 20px;
}

.collapsible {
  background-color: #5fa824;
  color: #1D4200;
  cursor: pointer;
  padding: 10px;
  width: 100%;
  border: none;
  text-align: center;
  outline: none;
  font-size: 1.5em;
  margin-bottom: 10px;
  border-radius: 5px;
}

.collapsible:hover {
  background-color: #77d22d;
}

.content {
  display: none;
  padding: 0 18px;
  overflow: hidden;
  border-radius: 5px;
}

.active {
  display: block;
}

.item-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}

/* item containers */
.item-db, .item-wrist, .item-collar {
  flex: 1 1 calc(25% - 20px); /* 4 columns by default */
  margin-bottom: 20px;
  text-align: center;
}
/* item images */
.item-db img, .item-wrist img, .item-collar img {
  width: 70%;
  margin: 0 auto;
  display: block;
}

.controls {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin-top: 5px;
  margin-left: 30px;
  margin-right: 30px;
}

.controls button {
  padding: 10px;
  border: none;
  background: none;
  cursor: pointer;
  background-size: contain;
  background-repeat: no-repeat;
  appearance: none;
  object-fit: contain;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
}

/* increment button */
.controls button.increment {
  background-image: url("https://i.imgur.com/lLNhIiA.png"); 
  width: 40px;
  height: 40px;
}

/* decrement button */
.controls button.decrement {
  background-image: url("https://i.imgur.com/sBTSfgC.png"); 
  width: 40px;
  height: 40px;
}

.controls input {
  width: 40px;
  height: 40px;
  text-align: center;
  border: none;
  background: none;
  outline: none;
  font-size: 1.5em;
  line-height: 40px;
  font-family: inherit;
}

.controls input[type=number] {
  -moz-appearance: textfield;
  -webkit-appearance: none;
  appearance: none;
}

.controls input[type=number]::-webkit-outer-spin-button,
.controls input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.total {
  text-align: center;
  margin-top: 20px;
  font-size: 2.5em;
}

.total label {
font-size: 1.5em;
}

.total div {
  display: block;
  font-weight: bold;
  margin-top: 10px;
  color: #333333;
}


/* Responsive media shit idfk please work */
@media (max-width: 900px) {
  .item-db, .item-wrist, .item-collar {
    flex: 1 1 calc(50% - 20px); /* 2 columns for medium screens */
  }
}

@media (max-width: 600px) {
  .item-db, .item-wrist, .item-collar {
    flex: 1 1 100%; /* 1 column for narrow screens */
  }
}