 @charset "utf-8";

 .search-bar {
     display: flex;
     justify-content: center;
     padding: 1rem;
     background: #eee7e3;
 }

 .search-bar input {
     padding: 0.5rem;
     width: 250px;
     border: 1px solid #9e7360;
     border-radius: 3px 0 0 3px;
 }

 ::placeholder {
     color: #9e7360;
 }

 .search-bar button {
     padding: 0.5rem 1rem;
     border: none;
     background: #e95774;
     color: #fff;
     border-radius: 0 3px 3px 0;
     cursor: pointer;
 }

 h2 p {
     font-size: 18px
 }

 .container {
     max-width: 1200px;
     margin: auto;
     padding: 1rem;
 }

 .products {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
     gap: 1rem;
 }

 .product {
     background: #fff;
     border-radius: 5px;
     overflow: hidden;
     box-shadow: 0 2px 5px rgba(51, 30, 10, 0.1);
     display: flex;
     flex-direction: column;
 }

 .product img {
     width: 100%;
     height: auto;
 }

 .product-info {
     margin-top: -30px;
     padding: 1rem;
     flex: 1;
 }

 .product-info h3 {
     margin: 0 0 0.5rem;
     text-align: center;
     margin-bottom: 10px;
 }

 .price {
     color: #e95774;
     font-weight: bold;
     margin-bottom: 1rem;
 }

 .shop_btn {
     width: 100px;
     cursor: pointer;
     display: inline-block;
     padding: 0.5rem 1rem;
     text-decoration: none;
     border: none;
     background-color: rgba(255, 255, 255, 0);
 }


 /*カートボタン詳細表示*/
 .tooltip-001 {
     display: inline-block;
     position: relative;
 }

 .tooltip-001>div {
     cursor: pointer;
 }

 .tooltip-001>span {
     display: flex;
     justify-content: center;
     visibility: hidden;
     opacity: 0;
     position: absolute;
     bottom: -5px;
     left: 50%;
     transform: translateX(-50%);
     padding: .5em 1em;
     border-radius: 3px;
     background-color: #9e7360;
     color: #ffffff;
     font-size: .7em;
     white-space: nowrap;
     transition: opacity .3s;
 }

 .tooltip-001>span::before {
     position: absolute;
     top: -6px;
     width: 9px;
     height: 6px;
     background-color: inherit;
     clip-path: polygon(50% 0, 0 100%, 100% 100%);
     content: '';
 }

 .tooltip-001:hover>span {
     visibility: visible;
     opacity: 1;
 }


 /*お気に入りボタン詳細表示*/

 .tooltip-002 {
     display: inline-block;
     position: relative;
 }

 .tooltip-002>div {
     cursor: pointer;
 }

 .tooltip-002>span {
     display: flex;
     justify-content: center;
     visibility: hidden;
     opacity: 0;
     position: absolute;
     bottom: -5px;
     left: 50%;
     transform: translateX(-50%);
     padding: .5em 1em;
     border-radius: 3px;
     background-color: #9e7360;
     color: #ffffff;
     font-size: .7em;
     white-space: nowrap;
     transition: opacity .3s;
 }

 .tooltip-002>span::before {
     position: absolute;
     top: -6px;
     width: 9px;
     height: 6px;
     background-color: inherit;
     clip-path: polygon(50% 0, 0 100%, 100% 100%);
     content: '';
 }

 .tooltip-002:hover>span {
     visibility: visible;
     opacity: 1;
 }

 /*カートページ、お気に入りページ*/

 .container {
     max-width: 900px;
     margin: auto;
     padding: 1rem;
     background: #fff;
     border-radius: 5px;
 }

 table {
     width: 100%;
     border-collapse: collapse;
 }

 th,
 td {
     padding: 0.5rem;
     border-bottom: 1px solid #ddd;
     text-align: left;
 }

 #shopTable img {
     max-width: 100px;
     height: auto;
     border-radius: 4px;
 }

 .container .btn {
     background: #9e7360;
     color: #fff;
     padding: 0.5rem 1rem;
     border: none;
     cursor: pointer;
     border-radius: 3px;
     margin: 10px 20px 0 20px;
 }

 .kessai_btn {
     background: #e95774;
     color: #fff;
     padding: 0.5rem 1rem;
     border: none;
     cursor: pointer;
     border-radius: 3px;
     margin: 10px 20px 0 20px;
 }

 .kessai_btn a {
     color: #fff;
     text-decoration: none;
 }

 .btn-delete {
     background: #d78a92;
 }

 .container h2 {
     font-size: 30px;
     margin-bottom: 20px;
 }



 /* 959px以下の場合 */
 @media(max-width: 959px) {

     .container .btn,
     .kessai_btn {
         margin: 10px 0 5px 0;
     }
 }