
:root{

  /* Primary coloor */
  --Dark-cyan: hsl(158, 36%, 37%);
  --Dark-cyan-500: hsl(158, 36%, 17%);
  --Cream: hsl(30, 38%, 92%);
  
/* Neutral color */

--Very-dark-blue: hsl(212, 21%, 14%);
--Dark-grayish-blue: hsl(228, 12%, 48%);
--White: hsl(0, 0%, 100%);

/*Font family*/
--ff-accent: "Fraunces", serif;
--ff-base: "Montserrat", sans-serif;


/*Font weight*/
--fw-regular: 500;
--fw-bold: 700;

}


/* CSS resetter by Josh*/

/* 1. Use a more-intuitive box-sizing model */
*, *::before, *::after {
    box-sizing: border-box;
  }
  
  /* 2. Remove default margin */
  * {
    margin: 0;
}
  
  body {
    /* 3. Add accessible line-height */
    line-height: 1.5;
    /* 4. Improve text rendering */
    -webkit-font-smoothing: antialiased;
  }
  
  /* 5. Improve media defaults */
  img, picture, video, canvas, svg {
    display: block;
    max-width: 100%;
  }
  
  /* 6. Inherit fonts for form controls */
  input, button, textarea, select {
    font: inherit;
  }
  
  /* 7. Avoid text overflows */
  p, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
  }
  
  /* 8. Improve line wrapping */
  p {
    text-wrap: pretty;
  }
  h1, h2, h3, h4, h5, h6 {
    text-wrap: balance;
  }
  

  body{
    font-family: var(--ff-base);
    font-weight: var(--fw-regular);
    font-size: 0.875rem;
    color: var(--Very-dark-blue);
    background-color: var(--Cream);

    /*center the component not */
    /* display: grid;
    place-content: center;
    margin: 1rem;*/
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1rem;
  } 

  /* Utile */
  .flex__price{
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
  }


  .product {
    display: flex;
    flex-direction: column; /* Default: Mobile layout in column */
    max-width: 375px; /* Ensures it doesn’t stretch too wide on mobile */
    background-color: var(--White);
    border-radius: 0.5rem;
    overflow: hidden;
    margin-top: 15rem;
}

.product__img img {
    width: 100%; /* Ensures full width on mobile */
    height: auto;
    /* display: block; */
}

.product__content {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    gap: 1rem;
}



  .catagory{
    color: var(--Dark-grayish-blue);
    font-size: 0.8125rem;
    letter-spacing: 5px;
    text-transform: uppercase;
  }

  .product__title{
    font-size: 2rem;
    font-family: var(--ff-accent);
    color: var(--Very-dark-blue);
    line-height: 2rem;
  }

  .detail{
    color: var(--Dark-grayish-blue);
    font-size: 0.978rem;
    font-weight: var(--fw-regular);
  }

  .product__price{
    font-size: 2rem;
    font-family: var(--ff-accent);
    color: var(--Dark-cyan);
  }

  .btn {
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    gap: 0.75rem;
    justify-content: center;
    align-items: center;
    background-color: var(--Dark-cyan);
    font-weight: var(--fw-bold);
    color: var(--White);
    padding: 1rem;
    border-radius: 10px;
  }

  .btn:hover{
    background-color: var(--Dark-cyan-500);
  }
  .btn[data-icon="shopping-cart"]::before{
    content: "";
    background: url(/images/icon-cart.svg);
    height: 15px;
    width: 16px;


  }

/* Media Query for Desktop */
@media screen and (min-width: 600px) {
  .product {
      flex-direction: row; /* Switch to row layout on desktop */
      max-width: 600px;
      align-items: stretch;
  }

  .product__img {
      flex: 1; /* Image takes half the space */
  }

  .product__img img {
      width: 100%;
      height: 100%;
      object-fit: cover; /* Keeps the image looking good */
  }

  .product__content {
      flex: 1; /* Content takes half the space */
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 2rem;
  }
}
