/* ================= GRID ================= */

.tcp-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px;
    align-items:start;
	margin-bottom:3%;
}

@media(max-width:1024px){
    .tcp-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:767px){
    .tcp-grid{
        grid-template-columns:1fr;
    }
}

/* ================= CARD ================= */

.tcp-card{
    background:#000;
    border:1px solid #1b1b1b;
    border-radius:20px;
    padding:20px;
    color:#fff;
    overflow:hidden;
    box-sizing:border-box;
}

/* ================= TITLE ================= */

.tcp-title{
    font-size:20px;
    line-height:25px;
    font-weight:600;
    margin-bottom:0px;
    color:#fff;
    font-family:inherit;
}

/* ================= DOSAGE + SKU ================= */

.tcp-meta{
    font-size:15px;
    color:#bdbdbd;
    margin-bottom:10px;
    font-family:inherit;
    font-weight:500;
}

/* ================= CATEGORY ================= */

.tcp-cats{
    font-size:14px;
    color:#bdbdbd;
    text-transform:uppercase;
    margin-bottom:18px;
    font-weight:600;
    letter-spacing:.3px;
    font-family:inherit;
}

/* ================= TABLE ================= */

.tcp-table-wrap{
    margin-bottom:18px;
    overflow:hidden;
    border-radius:20px;
    border:1px solid #242424 !important;
}

.tcp-table{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
	  border-top:0px !important;
	  border-bottom:0px !important;
	  border-right: 0px !important;
	  border-left: 0px !important;
	  border-radius:20px !important;
	  margin-bottom:0px !important
}

/* ================= HEADER ================= */

.tcp-table th{
    background:#161616;
    color:#fff;
    padding:10px 10px !important;
    font-size:14px;
    font-weight:600 !important;
    border-right:1px solid #242424 !important;
	  border-bottom:1px solid #242424 !important;
	border-left:0px !important;
    text-align:center !important;
    font-family:inherit;
}

.tcp-table th:last-child{
    border-right:none;
}

/* ACTIVE HEADER */

.tcp-table th.active{
    background:#7ddd1e;
    color:#000;
}

/* ================= PRICE ROW ================= */

.tcp-table tr:nth-child(2) td{
    background:#0d0d0d;
    color:#fff;
    padding:10px 10px;
    text-align:center;
    font-size:15px;
    font-weight:600;
    border-top:1px solid #242424 !important;
	    border-bottom:1px solid #242424 !important;
	 border-left:0px !important;
    border-right:1px solid #242424 !important;
    font-family:inherit;
}

.tcp-table tr:nth-child(2) td:last-child{
    border-right:none;

}


.tcp-table tr{
	border-bottom:0px !important;
	border-left:0px !important;
}

/* ACTIVE PRICE */

.tcp-table td.active-price{
    color:#7ddd1e !important;
}

/* ================= RANGE ROW ================= */

.tcp-table tr:nth-child(3) td{
    background:#0d0d0d;
    color:#bcbcbc;
    padding:10px 8px;
    text-align:center;
    font-size:13px !important;
    border-top:1px solid #242424;
	  border-left:0px !important;
	  border-bottom:0px !important;
    border-right:1px solid #242424 !important;
    font-family:inherit;
}

.tcp-table tr:nth-child(3) td:last-child{
    border-right:none;
}

/* ================= QUANTITY WRAP ================= */

.tcp-qty-wrap{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:5px;
}

/* ================= PLUS MINUS ================= */
body[data-button-style*="slightly_rounded"] button.tcp-minus,
body[data-button-style*="slightly_rounded"] button.tcp-plus,body[data-button-style*="rounded"] button.tcp-minus,
body[data-button-style*="rounded"] button.tcp-plus{
		  border-radius:50% !important;
	  -webkit-border-radius:50% !important;
}

.tcp-minus,
.tcp-plus{
    width:40px;
    min-width:40px;
    height:40px;
    border:none;
    background:#111;
    color:#fff;
    font-size:18px;
    font-weight:500;
    cursor:pointer;
    transition:.2s ease;
    box-shadow:none;
    font-family:inherit;
}

.tcp-minus:hover,
.tcp-plus:hover{
    background:#1c1c1c;
}

/* ================= QUANTITY INPUT ================= */

.tcp-qty{
    flex:1;
    height:40px;
    border-radius:20px !important;
    border:1px solid #262626;
    background:rgba(255,255,255,0.1) !important;
    color:#fff !important;
	  opacity:1 !important;
    text-align:center;
    font-size:22px;
    font-weight:600;
    outline:none;
    padding:0 12px;
    box-sizing:border-box;
    font-family:inherit;
}

.tcp-qty::placeholder{
	color:#fff !important;
	opacity:1 !important;
}

/* REMOVE ARROWS */

.tcp-qty::-webkit-outer-spin-button,
.tcp-qty::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}

.tcp-qty[type=number]{
    -moz-appearance:textfield;
}

/* ================= CART BUTTON ================= */

body[data-button-style*="slightly_rounded"] button.tcp-cart-btn,
body[data-button-style*="rounded"] button.tcp-cart-btn{
	    border-radius:20px !important;
}

.tcp-cart-btn{
    width:60px;
    min-width:60px;
    height:40px;
    border:none;
    background:linear-gradient(125deg,#108f58,#7ddd1e);
    color:#000 !important;
    font-size:22px;
    font-weight:700;
    cursor:pointer;
    transition:.2s ease;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:inherit;
	position:relative;
}




.tcp-cart-btn:hover{
    transform:translateY(-1px);
    opacity:.95;
}

/* ================= FORM ================= */

.tcp-cart-form{
    margin:0;
}

/* ================= REMOVE LINKS ================= */

.tcp-card a{
    text-decoration:none !important;
    pointer-events:none;
}

/* ================= ALIGNMENT FIX ================= */

.tcp-card *{
    box-sizing:border-box;
}